【发布时间】:2020-02-09 18:58:34
【问题描述】:
我有一个 .csv 文件,我希望使用 csv 包通过 Python (3.x) 读取。但是,程序会截断文件的开头(前 44797 行)。
有问题的 .csv 文件可以从这个链接下载:https://www.kaggle.com/dgomonov/new-york-city-airbnb-open-data/downloads/new-york-city-airbnb-open-data.zip/3
file = "C:\\Users\\Owner\\Pictures\\Camera Roll\\new-york-city-airbnb-
open-data\\AB_NYC_2019.csv"
rowsn = []
coln = []
with open(file, encoding="utf8") as csvfile:
csvreader = csv.reader(csvfile)
coln.append(0)
for row in csvreader:
rowsn.append(row)
print("Appending" + str(row))
for q in rowsn:
for r in q:
print(r, end=" ")
print("\n")
我希望将整个文件逐行打印在终端上。但是,前 44797 行没有出现在屏幕上。请帮忙。 谢谢。
【问题讨论】:
-
向上滚动 - 第一行在您的控制台上看不见或没有缓冲,因为它只显示了这么多行......
-
@PatrickArtner 我也这么认为....但是向上滚动后的第一行是第 44,798 行。
-
在
print("\n")之后添加break.. 应该只显示第一行 -
@PatrickArtner 我尝试添加 break.....确实显示了第一行....然后我尝试限制 for 循环的重复次数。对于较小的重复,程序按预期工作,但对于大于 4098 的重复开始截断输出的开头。如果我将循环限制为 4099 重复,它将截断第一行的一半。为什么是 4098 阈值?
-
感谢@PatrickArtner。但是,2^14 实际上是 4096(我之前确实想过,但无法真正解释为什么阈值是 2^14+2)。非常感谢。但是,有什么办法可以克服这个问题吗?
标签: python python-3.x csv append