我有两个CSV文件需要从中提取正确的匹配。我想比较第一个文件中的每一行,并说明它在文件二中的任何一行上是否有匹配的值。如果找到匹配项,则声音会移至fileOne中的下一行并重复。在两个csv文件之间匹配python值
下面是我到目前为止的代码,但它似乎只是直接在每个文件行之间进行比较。因此,文件1中的第一行仅与文件2中的第一行进行比较,而不是循环遍历文件2中的所有行,直到找到匹配或不匹配。
我怀疑它与我如何设置我的for循环有关,但我不确定。
import csv
fileOne = csv.reader(open("fileone.csv", "r"))
fileTwo = csv.reader(open("filetwo.csv", "r"))
for row1 in fileOne:
for row2 in fileTwo:
row1String = row1[1].upper() + row1[0].upper()
row2String = row2[1].upper() + row2[0].upper()
if row1String == row2String:
print "Matched %s, %s, %s" % (row1[1], row2[1], row1[0])
break
else:
print "No Match, %s" % (row1[0])
break
'csv.reader'是一个迭代器 - 尝试'fileOne = list(...)'。 – jonrsharpe
谢谢,这工作完美。 – andyp