我有两个csv文件(old.csv and new.csv),其中有很多数据。两个csv文件都有相同的数据,但每一行的排序可能不同。old.csv文件充当源文件。我将对两个csv文件进行比较,以查看是否有任何一行丢失或有任何新行存在。
old.csv与new.csv进行比较,并查看new.csv中是否缺少任何行或new.csv中是否存在任何新行。在csv的.中,每一行都应该完全匹配。
在下面的代码中,我只检查new.csv中的新行,这在old.csv中不存在,但我们如何检查所有其他内容。
with open('old.csv', 'r') as t1, open('new.csv', 'r') as t2:
fileone = t1.readlines()
filetwo = t2.readlines()
with open('update.csv', 'w') as outFile:
for line in filetwo:
if line not in fileone:
outFile.write(line)基本上,old.csv和new.csv文件都应该与所有内容(每一行)、条目数和其他内容完全匹配。这两个文件之间不应该有任何区别。
发布于 2020-10-20 19:54:55
您可以考虑为此使用difflib,但它将具有与命令行diff相同的限制。当它只是移动时,它可以将一行报告为“新的”。
假设订单并不重要,基于集合的方法可能就是您所需要的。
https://stackoverflow.com/questions/64451928
复制相似问题