我有两个CSV。第一个包含所有以前的客户的列表,并为其分配了ID。还有一个新的csv,我在其中自动生成ID,代码如下:
df['ID'] = pd.to_datetime('today').strftime('%m%d%y') + df.index.map(str)
OLD.csv
ID FirstName LastName
1 John Smith
2 Jack Ma
3 John Wick
.... .... ....
210906ABC3 Jon Snow
210907ABC0 Peter Parker
210907ABC1 Tony Stark
使用当前脚本新建.csv
ID FirstName LastName
210908ABC0 Black Widow
210908ABC1 Steve Rogers
210908ABC2 John Wick
210908ABC3 John Rambo
210908ABC4 Tony Stark
我需要比较csv中的FirstName和LastName列,如果客户已经存在于OLD.csv中,那么它应该采用OLD.csv中的ID值,而不是生成新ID
NEW.csv的预期输出
ID FirstName LastName
210908ABC1 Black Widow
210908ABC2 Steve Rogers
3 John Wick
210908ABC3 John Rambo
1 John Smith
将来,我可能需要比较三列或四列,并且只在所有列都匹配的情况下分配ID。名字和姓氏以及(手机或地址)和(位置或SSN)
如果在两个数据帧df1和df2中都有两个文件,则可以合并这两个文件,然后更新第一个文件中的ID并仅打印第一个文件中的列,这将仅适用于多达几千行的文件,因为合并速度非常慢
编辑: 这是一个简单的工作示例,file1(df1)是要更新的文件,file2是包含要复制到file1的ID的文件
使用方法如下:
确保每行的键是唯一的,否则您可以在输出文件中获得多个生成额外行的联接
相关问题 更多 >
编程相关推荐