从一个csv获取特定列值并在python中的其他csv中推送该列值

时间:2016-12-15 11:40:34

标签: python csv pandas

我有一个要求,比如从csv1文件中获取第10列值并将同一列值推送到其他csv2文件。 [假设csv1和csv2文件具有相同的行数]。 如何用简单的方法实现这个目标

1 个答案:

答案 0 :(得分:2)

解决方案使用read_csv选择参数usecols列进行阅读:

temp=u"""a,b,c
1,4,5
7,8,9
"""
#in real data change 2 to 11 (python counts from 0)
#after testing replace StringIO(temp) to filename
df = pd.read_csv(StringIO(temp), usecols=[2])
print (df)
   c
0  5
1  9

阅读另一个文件:

temp=u"""a1,b1,c1
7,8,1
5,3,0
"""
#after testing replace StringIO(temp) to filename
df1 = pd.read_csv(StringIO(temp))
print (df1)
   a1  b1  c1
0   7   8   1
1   5   3   0

df(只有一列)的列替换为df1 - 按iloc按位置选择:

#in real data change 2 to 11    
df1.iloc[:, 2] = df.iloc[:, 0]
print (df1)
   a1  b1  c1
0   7   8   5
1   5   3   9

上次写to_csv

df1.to_csv('filename.csv', index=False)
a1,b1,c1
7,8,5
5,3,9