【发布时间】:2017-04-24 14:50:22
【问题描述】:
CSV_1.csv 具有以下结构:
ABC
DEF
GHI
JKL
MNO
PQR
CSV_2.csv 具有以下结构:
XYZ
DEF
ABC
CSV_2.csv 比CSV_1.csv 小很多,CSV_2.csv 中存在的许多行出现在CSV_1.csv 中。我想知道CSV_2.csv 中是否存在行但CSV_1.csv 中不存在。
这些文件没有排序。
较大的 csv 有接近 1000 万行,较小的表有大约 700 万行。
我该怎么做呢?我尝试了 python,但是从 CSV_2.csv 中获取每一行并与 CSV_1.csv 中的 1000 万行进行比较需要很多时间。
这是我在 python 中尝试过的:
with open('old.csv', 'r') as t1, open('new.csv', 'r') as t2:
fileone = t1.readlines()
filetwo = t2.readlines()
with open('update.csv', 'a') as outFile:
for line in filetwo:
if line not in fileone:
outFile.write(line)
awk 浮现在脑海中。 awk 的确切代码是什么?
【问题讨论】:
-
看看stackoverflow.com/questions/42239179/…,它有很多经过深入研究的答案。选择适合您需求的那一款
-
@Inian 你链接的那个没有回答我的问题。我还在 SO 上查看了其他类似的问题。
-
@user2125722 我已经尝试过 python。非常非常慢。
-
如果你尝试过python,你应该分享一下,以便有人可以帮助你。