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