我被鼓励走出自己的舒适区,在几乎没有经验的情况下使用 python,现在我被困住了。我正在尝试比较两个 CSV 文件(fileA.csv 和 fileB.csv),并将任何丢失的用户行从 fileB.csv 附加到 fileA.csv。我可以比较的唯一字段是用户的名字和姓氏(在这种情况下,它是每个文件中的 row[0] 和 row[2])。
据我了解,您无法将信息附加到您当前打开的文件中,因此我愿意接受建议,而无需创建第三个文件(如果可能)。下面有我在正确的轨道上,但有很多数据,所以我需要一个循环。请帮忙。
import csv
reader1 = csv.reader(open('fileA', 'rb'), delimiter=',', quotechar='|')
row1 = reader1.next()
reader2 = csv.reader(open('fileB', 'rb'), delimiter=',', quotechar='|')
row2 = reader2.next()
##For Loop...
if (row1[0] == row2[0]) and (row1[2] == row2[2]):
## Compare next
else:
## Append entire row to fileA.csv
示例文件 A.csv:
John,Thomas,Doe,some,other,stuff
Jane, ,Smith,some,other,stuff
示例文件 B.csv:
John, ,Doe,other,personal,data
Jane,Elizabeth,Smith,other,personal,data
Robin,T,Williams,other,personal,data
应该从 FileB 附加到 FileA 的唯一行是 Robin 的完整行,因此 FileA 看起来像:
所需结果_文件A:
John,Thomas,Doe,some,other,stuff
Jane, ,Smith,some,other,stuff
Robin,T,Williams,other,personal,data