比较两个字符串列表.CSV

2024-04-16 16:33:01 发布

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

我正在尝试编写一个脚本来比较来自不同电子表格的两个字符串列表,并打印出两个电子表格共用的字符串列表。我完全是个新手,但到目前为止我已经:

import csv
f1 = file("KaySinTan09.csv", "r")
f2 = file("Khanna11.csv", "r")

c1=csv.reader(open('KaySinTan09.csv', 'rb'), delimiter=' ', quotechar='|')
c2=csv.reader(open('Khanna11.csv', 'rb'), delimiter=' ', quotechar='|')

output = c1.intersection(c2)
print output

我得到一个错误说“AttributeError:”_csv.reader“object没有属性”“intersection”“。”。在

有什么关于我哪里出错的建议吗?在


Tags: csv字符串列表outputopenreaderfile电子表格
2条回答

csv.reader不返回列表-它返回一个CSV reader对象-因此.intersection方法将不起作用。也许这会:

c1=csv.reader(open('KaySinTan09.csv', 'rb'), delimiter=' ', quotechar='|')
c2=csv.reader(open('Khanna11.csv', 'rb'), delimiter=' ', quotechar='|')

c1_list = []
c2_list = []

for c in c1:
  c1_list.append(c)
for c in c2:
  c2_list.append(c)

output = set(c1_list).intersection(set(c2_list))
print output

这不是测试。在

在csv.reader不是集合,您需要将其转换为一个才能执行此操作:

c1= set(csv.reader(open('KaySinTan09.csv', 'rb'), delimiter=' ', quotechar='|'))
c2 = set(csv.reader(open('Khanna11.csv', 'rb'), delimiter=' ', quotechar='|'))

output = c1.intersection(c2)
print output

相关问题 更多 >