我有两个csv文件,想要将它们合并为左连接...我的关键列是"id",在两个csv文件中都有相同的非关键列"result",但如果第二个CSV文件中存在任何值,则希望覆盖"result"列。如何使用pandas或任何脚本语言实现这一点?请参阅我的最终预期输出。
输入
input.csv:
id,scenario,data1,data2,result
1,s1,300,400,"{s1,not added}"
2,s2,500,101,"{s2 added}"
3,s3,600,202,
output.csv:
id,result
1,"{s1,added}"
3,"{s3,added}"
Expected Output
final_output.csv
id,scenario,data1,data2,result
1,s1,300,400,"{s1,added}"
2,s2,500,101,"{s2 added}"
3,s3,600,202,"{s3,added}"
当前代码:
import pandas as pd
a = pd.read_csv("input.csv")
b = pd.read_csv("output.csv")
merged = a.merge(b, on='test_id',how='left')
merged.to_csv("final_output.csv", index=False)
问题:
使用这段代码,我得到了两个结果列。我只想要一个,并且如果该列中存在值,则应该进行覆盖。如何获得单个结果列?
Python
还是awk
代码可以接受? - Inian