[英]CSV reader not reading entire file
我已经看过这个问题的先前答案,但在每个场景中,提问者都在询问他们对文件做了哪些具体的事情,但即使我没有,也会出现问题。
我有一个27,204行的.csv文件。 当我打开python解释器时:
python
import csv
o = open('btc_usd1hour.csv','r')
p = csv.reader(o)
for row in p:
print(row)
然后我只看到显示给我的文档的最后三分之一。
请尝试以下代码
import csv
fname = 'btc_usd1hour.csv'
with open(fname, newline='') as f:
reader = csv.reader(f)
for row in reader:
print(row)
没有样品很难说出问题是什么。 我想如果你添加newline=''
来打开文件,问题就会被删除。
使用with
构造自动关闭文件。 如果不需要进一步说明,请使用f
名称作为文件对象 。 将文件名存储到fname
以便将来修改更容易(并且还可以轻松复制以后程序的代码片段)。
olisch可能是正确的,控制台只是滚动得如此之快,你无法看到结果。 您可以将结果写入另一个文本文件,如下所示:
with open(fname, newline='') as fin,\
open('output.txt', 'w') as fout:
reader = csv.reader(fin)
for row in reader:
fout.write(repr(row) + '\n')
repr
函数将row
列表转换为其字符串表示形式 。 print
调用内部功能,因此您将获得与屏幕上观察到的相同的结果。
试试吧,在我工作:
with open(name) as csvfile: reader = csv.DictReader(csvfile) for row in reader: print(row)
参考:
也许你的回滚缓冲区只是为了查看整个列表?
一般来说,你的csv.reader调用应该工作正常,除了你的27k行不是很长,所以你可以打到任何64位边界,这是非常罕见的。
len(o)
可能很有趣。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.