我在编写python中使用csv
对象的嵌套for循环时遇到问题。我想解析这两个csv
文件并比较其中的一部分。因此,我编写了下面的嵌套循环。
我期望的是,python解析内部循环以获取外部循环的第一项,然后对于外部循环的第二项,再次解析内部循环,依此类推。
所发生的是,内部循环被解析,然后外部循环被传递,甚至没有再次进入内部循环。在
当使用非csv
对象时,如num_list = [1, 2, 3]
这与预期的一样。在
谢谢。在
import csv
csvfile = open('/Users/rene/Downloads/Test/Export.csv', newline='', encoding='windows-1252')
spamreader = csv.reader(csvfile, dialect='excel', delimiter=';')
csvfile1 = open('/Users/rene/Downloads/Test/Transfer.csv', newline='', encoding='windows-1252')
spamreader1 = csv.reader(csvfile1, dialect='excel', delimiter=';')
for row in spamreader:
print("1row:"+row[1])
for row1 in spamreader1:
print("2row:"+row[1])
print("2row1:"+row1[0])
csvfile.close()
csvfile1.close()
csv.reader
对象是迭代器,当它们被使用时就会耗尽。因此,spamreader1
在外循环的第一次迭代之后已经是空的。在只需将在内部循环中迭代的
spamreader1
转换为list
,这样就可以重复多次:相关问题 更多 >
编程相关推荐