Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python CSV阅读器:截断文件的开头?缺少前44797行_Python_Python 3.x_Csv_Append - Fatal编程技术网

Python CSV阅读器:截断文件的开头?缺少前44797行

Python CSV阅读器:截断文件的开头?缺少前44797行,python,python-3.x,csv,append,Python,Python 3.x,Csv,Append,我有一个.csv文件,我想用Python(3.x)使用csv包读取。但是,程序会截断文件的开头(前44797行) 有关的.csv文件可从以下链接下载: 我希望整个文件能在终端上一行一行地打印出来。但是,前44797行不会显示在屏幕上。请帮忙。 谢谢。您可以中断并看到第一行,这意味着您的控制台输出滚动太快 保存输出的shell有一个大约4098行的缓冲区。如果打印50k行,则第一行(50.000-4098)滚动得太快,以至于您看不到它们。缓冲区仅保留最后4098行,因此您只能向后滚动到目前为止 如

我有一个.csv文件,我想用Python(3.x)使用csv包读取。但是,程序会截断文件的开头(前44797行)

有关的.csv文件可从以下链接下载:

我希望整个文件能在终端上一行一行地打印出来。但是,前44797行不会显示在屏幕上。请帮忙。
谢谢。

您可以中断并看到第一行,这意味着您的控制台输出滚动太快

保存输出的shell有一个大约4098行的缓冲区。如果打印50k行,则第一行(50.000-4098)滚动得太快,以至于您看不到它们。缓冲区仅保留最后4098行,因此您只能向后滚动到目前为止

如果您真的想滚动浏览500k行,请给自己时间阅读:

for linecount, q in enumerate(rowsn,1):
    for r in q:
        print(r, end="        ")
    print("\n")
    if not linecount % 4000:         # every 4000 lines, ask for return press
        intput("Hit return...")

现在你必须按回车键126次左右。。。或者,您可以研究如何扩大控制台的缓冲区-对于默认的windows控制台,您可以在这里获得更多提示:

向上滚动-第一行在控制台上看不见,或者没有缓冲,因为它只显示了这么多行…@PatrickArtner我也这么认为…但向上滚动后的第一行是44798行。在
打印(“\n”)
之后添加
中断
。。应该只显示第一个line@PatrickArtner我尝试添加break…确实显示了第一行…然后我尝试限制for循环的重复次数。对于较小的重复,程序按预期工作,但对于大于4098的重复,程序开始截断输出的开头。如果我将循环次数限制为4099次,它将截断第一行的一半。为什么是4098门槛?谢谢@PatrickArtner。然而,2^14实际上是4096(我以前确实想到过,但无法真正解释为什么阈值是2^14+2)。谢谢。然而,我有什么办法可以克服这个问题吗?
for linecount, q in enumerate(rowsn,1):
    for r in q:
        print(r, end="        ")
    print("\n")
    if not linecount % 4000:         # every 4000 lines, ask for return press
        intput("Hit return...")