首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何比较两个csv文件并打印所有差异

如何比较两个csv文件并打印所有差异
EN

Stack Overflow用户
提问于 2020-10-20 19:16:59
回答 1查看 469关注 0票数 0

我有两个csv文件(old.csv and new.csv),其中有很多数据。两个csv文件都有相同的数据,但每一行的排序可能不同。old.csv文件充当源文件。我将对两个csv文件进行比较,以查看是否有任何一行丢失或有任何新行存在。

  • old.csvnew.csv进行比较,并查看new.csv中是否缺少任何行或new.csv中是否存在任何新行。在csv的.

中,每一行都应该完全匹配。

在下面的代码中,我只检查new.csv中的新行,这在old.csv中不存在,但我们如何检查所有其他内容。

代码语言:javascript
复制
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.csvnew.csv文件都应该与所有内容(每一行)、条目数和其他内容完全匹配。这两个文件之间不应该有任何区别。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-20 19:54:55

您可以考虑为此使用difflib,但它将具有与命令行diff相同的限制。当它只是移动时,它可以将一行报告为“新的”。

假设订单并不重要,基于集合的方法可能就是您所需要的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64451928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档