如何基于另一个csv文件替换文件csv的值?

时间:2019-03-18 20:00:48

标签: python-3.x csv

我有两个csv文件:1.csv和2.csv。

1.csv

id,name
a1, ABC
b2, CDF
x3,GIK

2.csv

id,name
x3,XYZ
a1,MNK
b2,NNN

我想使2.csv的id字段与1.csv中的id字段相同,并且还要更改与该id对应的名称顺序。所以2.csv的输出将是

id,name
a1, MNK
b2, NNN
x3,XYZ

我正在做以下事情,但是过程太慢了,因为它使用了两个循环。如何加快速度?谢谢

df_1 = pd.read_csv('1.csv')
df_2 = pd.read_csv('2.csv')

for index_1, row_1 in df_1.iterrows():
    for index_2, row_2 in dr_2.iterrows():
        if (row_1['id']==row_2['id']):
            print(row_1['id'], row_2['name'])
            continue;

1 个答案:

答案 0 :(得分:1)

尝试一下:

import pandas as pd
df_1 = pd.read_csv('1.csv')
df_2 = pd.read_csv('2.csv')
df_2 = df_2.set_index("id")
df_2 = df_2.reindex(index=df_1.id)
df_2.to_csv('2_reordered.csv')