我正在尝试比较两个 csv 文件(fileA 和 fileB),并从 fileA 中删除在 fileB 中找不到的所有行。我希望能够在不创建第三个文件的情况下做到这一点。我以为我可以使用 csv writer 模块来做到这一点,但现在我在猜测自己。
目前,我正在使用以下代码记录文件 B 中的比较数据:
removal_list = set()
with open('fileB', 'rb') as file_b:
reader1 = csv.reader(file_b)
next(reader1)
for row in reader1:
removal_list.add((row[0], row[2]))
这是我被卡住并且不知道如何删除行的地方:
with open('fileA', 'ab') as file_a:
with open('fileB', 'rb') as file_b:
writer = csv.writer(file_a)
reader2 = csv.reader(file_b)
next(reader2)
for row in reader2:
if (row[0], row[2]) not in removal_list:
# If row was not present in file B, Delete it from file A.
#stuck here: writer.<HowDoIRemoveRow>(row)