在Python中导入CSV-为什么在'data'上的for循环会影响它后面的list(data)?

n3schb8v  于 2022-12-30  发布在  Python
关注(0)|答案(1)|浏览(111)

我正在导入一个简单的CSV文件。我想逐行打印它的内容,然后再打印一次,但现在是作为一个列表来表示每一行。下面的代码:

fo = open('filename.csv', 'r')
content = csv.reader(fo)

for each in content:
    print(each)

print("Content as a list: ", list(content))
fo.close()

在第一个任务中正常工作,但是在“Content as a list”之后打印了一个空列表。如果我注解掉for循环,我得到了想要的结果。为什么for循环会影响下面的list(content)

fdbelqdn

fdbelqdn1#

读取器函数返回一个迭代器,该迭代器只能迭代一次。How to use csv reader object multiple times
Why can't I iterate twice over the same data?
解决方案之一是将其转换为列表:

fo = open('filename.csv', 'r')
content = list(csv.reader(fo))
fo.close()

相关问题