2015-01-31 6 views
1

열과 행 제목이 모두있는 Excel 파일/CSV가 있습니다. 행 1은 모든 제목이고 열 A는 모든 행 제목입니다. 열 및 행을 제공 할 때 dictreader를 사용하여 (x, y) 좌표 값을 반환하기를 바랬습니다.주어진 열 제목과 행의 값이있는 셀 값

결국 나는 여러 개의 열과 하나의 행을 줄 수 있었고 그 행에 대해 각 열의 값을 결합합니다. 그러나 나는 현재 내가 원하는 첫 번째 가치를 반환 할 수 없기 때문에 아기 단계로 시작할 것입니다. 여기 내 엑셀 파일/CSV의 작은 샘플입니다 : 내가 제공하는 경우 핀 이름 "DM_D_1"과 열 제목은 "RF_Switch_TX3_Scope1는"이 1154,1105를 반환하는 기능을 구축 할 수있는 방법

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 

dictreader를 사용하고 싶지만 내 파일을 검색하는 반복 함수를 만들어야합니까?

답변

2

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" 

제대로 구분 기호를 지정 CSV 또는 적어도 데이터를 넣을 경우

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')) 
0

는, 당신은 다음과 같은 작업을 수행 할 수 일부 코드 :

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]: