嵌套的for循环对返回None,不返回i

2024-10-01 09:26:35 发布

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

我刚刚开始使用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看起来是一个明显的问题,但是我不知道它从哪里来,为什么会中断循环。你知道吗


Tags: csv数据innone目标列表for数据文件
1条回答
网友
1楼 · 发布于 2024-10-01 09:26:35

一个csv.reader()对象只能读取一次(顺便说一下,和其他文件一样)。这意味着在第一个for row in firmyeardata3:循环完成之后,就没有什么可以迭代的了。你知道吗

您可能希望将CSV文件读入一个列表中,然后反复迭代该列表。你知道吗

相关问题 更多 >