gpt4 book ai didi

python - For csv reader_Python 中的循环位置

转载 作者:行者123 更新时间:2023-12-01 05:31:15 24 4
gpt4 key购买 nike

在我的这段脚本中,当计算 max_conc 时,下一个 for 循环将不起作用,除非我将其放在读者之后。但这样做,max_conc 就不再起作用了。

with open ('outfile.csv', 'r') as infile:
reader = csv.reader(infile)

max_conc = max(cols[1] for cols in reader)
print max_conc

for row in reader:
print row

重新打开输入文件是唯一的解决方案吗?

最佳答案

因为当你打电话时:

max(cols[1] for cols in reader)

您耗尽了迭代器,无法再次循环它。但您可以使用 seek 返回到文件的开头:

infile.seek(0)

或者,您可以在内存中存储文件的副本:

lines = infile.readlines()
max_conc = max(cols[1] for cols in lines)

另一种方法,正如 @Lyncha 建议的那样,循环遍历文件的列表副本:

lines = list(reader)

这是一个小例子:

>>> f = open('test.txt')
>>> f.read()
'a\nb\nc\nd\ne\nf\ng'
>>> f.read()
'' #whoops, iterator is exhausted
>>> f.seek(0)
>>> f.read()
'a\nb\nc\nd\ne\nf\ng'

关于python - For csv reader_Python 中的循环位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20233790/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com