gpt4 book ai didi

python - 问题读取 csv 文件

转载 作者:太空狗 更新时间:2023-10-30 02:59:33 26 4
gpt4 key购买 nike

我在使用 python 读取保存的 csv 时遇到问题:

import csv


with open('blah.csv','rb') as csvfile:
data = csv.reader( csvfile )
row_count = sum(1 for row in data)
print row_count


r = 1
for row in data:
print r

我的问题是,尽管 python 似乎可以识别该文件并识别出 row_count = 9(并打印它),但它不会在后面的循环中为每一行打印 r。

这段代码在我的电脑上运行正常,但在 www.pythonanywhere.com 的云端运行不正常

最佳答案

那是因为在下一行 - row_count = sum(1 for row in data) - 你已经通读了文件并且它已经到了结尾。所以当你再次尝试做 -

for row in data:
print r

这是行不通的,因为 data 文件在最后。

您可以尝试的众多方法之一是再次重新打开文件以从头开始阅读。

例子-

import csv
with open('blah.csv','rb') as csvfile:
data = csv.reader( csvfile )
row_count = sum(1 for row in data)
print row_count

with open('blah.csv','rb') as csvfile:
data = csv.reader( csvfile )
r = 1
for row in data:
print r

尽管您也可以同时计算行数并将行打印到单个循环中,例如 -

import csv
with open('blah.csv','rb') as csvfile:
data = csv.reader( csvfile )
row_count = 0
for row in data
row_count += 1
print row
print row_count

你可以做的另一件事是 -

csvfile.seek(0) #to make the file point to the start.

例子-

import csv
with open('blah.csv','rb') as csvfile:
data = csv.reader( csvfile )
row_count = sum(1 for row in data)
print row_count
csvfile.seek(0)
r = 1
for row in data:
print r

关于python - 问题读取 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31367594/

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