Python 为什么我的csv数据通过将其转换为另一个变量中的列表来进行更改?

Python 为什么我的csv数据通过将其转换为另一个变量中的列表来进行更改?,python,csv,Python,Csv,如果我跑 input_file = csv.DictReader(open("input2.csv")) for row in input_file: print (row) 它按照我的预期工作,并打印出csv文件。但是如果我加上一行 input_file = csv.DictReader(open("input2.csv")) data = list(input_file) for row in input_file: print (row) 它现在不打印任何内容。

如果我跑

input_file = csv.DictReader(open("input2.csv"))
for row in input_file:
      print (row)
它按照我的预期工作,并打印出csv文件。但是如果我加上一行

input_file = csv.DictReader(open("input2.csv"))
data = list(input_file)
for row in input_file:
      print (row)

它现在不打印任何内容。为什么将数据变量分配给输入文件列表会改变输入文件

输入文件
是一个。您的呼叫
列表(输入文件)
会耗尽它。 也就是说,它遍历所有行并将它们中的每一行生成
数据
,之后就没有更多的行可生成了

尝试:


看到数据仍然存在。

谢谢,这很有道理。
data = list(input_file)
for row in data:
      print (row)