python - 比较 csv 文件(pandas、csv、python)后删除行
问题描述
我正在尝试比较两个 csv 文件并从第二个文件中删除行,如果“组”值不存在作为文件 1 中的“类别 2”元素。但是,我对此没有太多经验,所以我不确定我的方法。我一直在玩熊猫,还尝试了很多其他的东西。我如何改进此代码,以便我可以比较具有不同标题的两列。目前,因为我相信整行都进行了比较,所以没有打印任何行?下面的输出应该有助于澄清事情。提前致谢。
with open('file1.csv', 'r') as t1, open('file2.csv', 'r') as t2:
fileone = t1.readlines()
filetwo = t2.readlines()
with open('update.csv', 'w') as outFile:
for line in filetwo:
if line in fileone:
outFile.write(line)
文件 1
All Lists
List 1
Category 1 Category 2 Category 3 Category 4 Category 5 Category 6
element1 x
element2 x
element3 x
element4 x
element5 x
List 2
Category 1 Category 2 Category 3 Category 4 Category 5 Category 6
card1 x
card2 x
card3 x
card4 x
card5 x
List 3
Category 1 Category 2 Category 3 Category 4 Category 5 Category 6
box1 x
box2 x
box3 x
box4 x
box5 x
文件 2
name id
job number
address none
address xyz
address date
company name
quarter report
date
Group Manager quarter1 quarter2 quarter3 quarter4 total
element2 A $ $ $ $ $
notElement B $ $ $ $ $
card3 C $ $ $ $ $
box4 D $ $ $ $ $
element3 E $ $ $ $ $
box1 F $ $ $ $ $
notElement B $ $ $ $ $
notElement C $ $ $ $ $
card7 D $ $ $ $ $
element4 E $ $ $ $ $
quarter1 quarter2 quarter3 quarter4
average $ $
results none none
missed 1
missed 1
所需的 csv 文件:
Group Manager quarter1 quarter2 quarter3 quarter4 total
element2 A $ $ $ $ $
card3 C $ $ $ $ $
box4 D $ $ $ $ $
element3 E $ $ $ $ $
box1 F $ $ $ $ $
card7 D $ $ $ $ $
element4 E $ $ $ $ $