首页 > 解决方案 > AttributeError: 'list' 对象没有属性 'symmetric_difference' 初学者错误

问题描述

我正在尝试比较两个csv文件并找出它们之间的区别。他们都应该有相同的确切数据,但排序可以不同。

尝试比较old.csvnew.csv查看 中是否缺少任何行new.csv或是否存在任何新行new.csv。每一行都应该在两个 csv 中完全匹配。

我试过这个,但它给了我错误AttributeError: 'list' object has no attribute 'symmetric_difference'。我在这里做错了什么?

with open('old.csv', 'r') as t1, open('new.csv', 'r') as t2:
    fileone = t1.readlines()
    filetwo = t2.readlines()

print(fileone.symmetric_difference(filetwo))
print(filetwo.symmetric_difference(fileone))

标签: pythoncsv

解决方案


symmetric_difference()是一个集合操作,但您正试图在列表中使用它。

制作fileonefiletwo成套:

fileone = set(t1.readlines())
filetwo = set(t2.readlines())

推荐阅读