我有 2 个 CSV,分别是 New.csv 和 Old.csv,它们大约有 1K 行和 10 列,其结构如下:
如果 new.csv 中有一个 longName(第一列),而 old.csv 中没有,我希望将整个 new.csv 行附加到changes.csv。
我一开始就这样做,但它根本不起作用:
def deltaFileMaker():
with open('Old.csv', 'r', encoding='utf-8') as t1, open('New.csv', 'r', encoding='utf-8') as t2:
fileone = t1.readlines()
filetwo = t2.readlines()
with open('changes.csv', 'w', encoding='utf-8') as outFile:
for line in filetwo:
if line not in fileone:
outFile.write(line)
deltaFileMaker()
我也尝试使用 csv-diff 但找不到将其输出转换为 csv 文件的方法
更新
def deltaFileMaker():
from csv_diff import load_csv, compare
diff = compare(
load_csv(open("old.csv",encoding="utf8"), key="longName"),
load_csv(open("new.csv",encoding="utf8"), key="longName")
)
with open('changes.csv', 'w',encoding="utf8") as f:
w = csv.DictWriter(f, diff.keys())
w.writeheader()
w.writerow(diff)
deltaFileMaker()
这样做:
叮当猫咪
比较 CSV 值
如何不用max函数比较2个数的大小?
java怎样用程序实现连续输入,比如要连续输入10个整数,比较并输出最大最小值。
如何在 PHP 中删除 CSV 文件中的空行?
相关分类