比较两个csv文件内容并将类似内容存储到variab中

2024-04-18 22:42:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python很陌生,我有两个csv文件。第一个(更多.csv)包含的内容

A123,B456,C789

第二个(更少.csv)包含的内容

^{pr2}$

我希望当它们相同时,它们将相似的项存储到一个名为“same”的变量中

我想应该从以下几点开始:

more = open('more.csv','r')
less= open('less.csv','r')
for item in unitid:

谢谢。在


Tags: 文件csvin内容formoreopenitem
2条回答

将CSV文件处理成列表后,可以使用collections.Counter查找重复项:

from collections import Counter

# after processing your CSV files into two lists:
more_list = ['A123', 'B456', 'C789', 'D007']
less_list = ['B456', 'D007', 'E009']

dupe_counter = Counter(more_list)
dupe_counter.update(less_list)
same_list = [val for val in dupe_counter if dupe_counter[val] > 1]
# same_list will be: ['B456', 'D007']

如果它们只有一行,可以使用set对象(python内置的)来比较它们,例如:

>>> a = ['A123','B456','C789','D007']
>>> b = ['B456','D007','E009']
>>> c = list(set(a).intersection(b))
>>> print c
['B456', 'D007']

从文件进行比较的完整方法如下所示:

^{pr2}$

如果每个文件不止一行,那么您仍然可以使用它,您只需稍微修改一下它-我想将交集存储到一个表示逐行相似性的数组中。在

相关问题 更多 >