我刚刚开始使用Python进行数据操作,我遇到了一对不迭代的嵌套for循环的问题。目标是将csv数据文件中的行与列表中的项相匹配,但是在对列表中第一个项的数据行执行操作之后,它将停止。你知道吗
问题的一个例子是:
with open(infiles[3], 'rU') as inf3:
firmyeardata3=csv.reader(inf3, dialect='excel')
for i in firmyearlist:
firm=firmyeardatadict[i][2]
for row in firmyeardata3:
if row[1]==firm:
print firm
不是遍历整个列表,而是通过以下代码:
firmx
firmx
firmx
firmx
firmx
firmx
None
None
看起来是一个明显的问题,但是我不知道它从哪里来,为什么会中断循环。你知道吗
一个
csv.reader()
对象只能读取一次(顺便说一下,和其他文件一样)。这意味着在第一个for row in firmyeardata3:
循环完成之后,就没有什么可以迭代的了。你知道吗您可能希望将CSV文件读入一个列表中,然后反复迭代该列表。你知道吗
相关问题 更多 >
编程相关推荐