【发布时间】:2019-09-03 20:14:07
【问题描述】:
我有两个 CSV 文件,两者不同但相似。我想比较它们和输出变化以及是否添加或删除了变量。我想在新的 CSV 或文本文件中输出更改。
下面是我已经尝试过的一些代码以及两个 csv 文件。我也愿意使用 difflib 并将其输出到文本文件。
file1.csv:
name1,2.0001
name2,3.4010
name4,4.0000
name5,1.0000
name6,1.0000
name8,1.9001
name10,2.7654
file2.csv:
name1,3.0000
name2,3.4010
name3,1.0000
name5,1.0901
name6,1.0000
name7,3.4445
name11,8.0009
name12,0.1180
这是我尝试过的代码:
with open('file1.csv', 'r') as file1, open('file2.csv', 'r') as file2:
file1 = file1.readlines()
file2 = file2.readlines()
with open('new_file.csv', 'w') as outFile:
for line in file2:
if line not in file1:
outFile.write(line)
预期的输出将是 csv 文件或文本文件,其中显示如下内容:
name1 value changed from 2.0001 to 3.0000
name3 value added
name4 value removed
name5 value changed from 1.0000 to 1.0901
name7 value added
name8 value removed
name10 value removed
name11 value added
name12 value added
【问题讨论】:
-
看来你应该加入这两个文件并分析结果
-
@mucio 你能澄清一下吗?
-
您可以将文件的内容放在两个结构中,也许是 dict,然后对它们进行迭代以查看该值是否存在或在另一个文件中是否已更改。或者你可以使用 pandas(及其连接)之类的东西来做到这一点
-
你检查过这个答案吗? stackoverflow.com/questions/5268929/…
标签: python python-3.x csv