当从行中给出列标题和值时的单元格值

我有一个Excel文件/ CSV同时具有列和行标题(行1是所有标题,列A是所有行标题)。 当我提供列和行时,我希望使用dictreader返回(x,y)坐标的值。

最后,我能够给出多个列和一个单行,它将结合该行的每个给定列中的值。 但是,我将从婴儿的步骤开始,因为我目前甚至无法返回我想要的第一个值。 这里是我的excel文件/ CSV的一个小样本:

PinName RF_Switch_TX1 RF_Switch_TX2 RF_Switch_TX3 RF_Switch_TX3_Scope1 RF_Switch_TX3_Scope2 DM_D_0 1255,1266,1311 1154,1105, DM_D_1 1256,1266,1311 1154,1105, DQS 1101,1161 1105 1153,1105 

我如何build立一个function,如果提供引脚名称“DM_D_1”和列标题“RF_Switch_TX3_Scope1”它将返回1154,1105,

我希望只是使用dictreader,但我需要build立一个迭代function,通过我的文件search?

会使用pandas是一个可接受的方法? (最初的问题提到了Python,但是现在看起来并不是这样。)我不确定这是pandas最惯用的用法,但似乎是做你想做的事情。

数据

我把这个成CSV文件。

 PinName,RF_Switch_TX1, RF_Switch_TX2,RF_Switch_TX3,RF_Switch_TX3_Scope1,RF_Switch_TX3_Scope2 DM_D_0,"1255,1266,1311",,,"1154,1105,", DM_D_1,"1256,1266,1311",,,"1154,1105,", DQS,,"1101,1161",1105,,"1153,1105" 

一些代码

 from pandas import read_csv df = read_csv("/Users/igow/Desktop/so_data.csv") df = df.set_index(['PinName']) def get_value(row, col): return df[col][row] print(get_value(col='RF_Switch_TX3_Scope1', row='DM_D_1')) 

如果您将数据以CSV或至less正确指定分隔符,则可以执行以下操作:

  In [56]: q = StringIO('''PinName,RF_Switch_TX1, RF_Switch_TX2,RF_Switch_TX3,RF_Switch_TX3_Scope1,RF_Switch_TX3_Scope2 ....: DM_D_0,"1255,1266,1311",,,"1154,1105,", ....: DM_D_1,"1256,1266,1311",,,"1154,1105,", ....: DQS,,"1101,1161",1105,,"1153,1105"''') In [57]: df1 = pd.read_csv(q,) In [58]: df1.loc[df1['PinName'] == 'DM_D_1']['RF_Switch_TX3_Scope1'].values[0] Out[58]: '1154,1105,' In [59]: