如何在python中计算rpt文件的数量,而无需大量阅读文档?

如何在python中计算rpt文件的数量,而无需大量阅读文档?,python,pandas,rpt,Python,Pandas,Rpt,我有相当多的数据;更准确地说,一个8GB的rpt文件 现在在处理它之前,我想知道实际有多少行-这有助于我以后了解处理需要多长时间等; 现在用python整体读取这样大小的rpt文件显然不起作用,所以我需要逐行读取;为了找出行数,我编写了一个简单的python脚本: import pandas as pd counter=0 for line in pd.read_fwf("test.rpt", chunksize=1): counter=counter+1 print(counter

我有相当多的数据;更准确地说,一个8GB的rpt文件

现在在处理它之前,我想知道实际有多少行-这有助于我以后了解处理需要多长时间等; 现在用python整体读取这样大小的rpt文件显然不起作用,所以我需要逐行读取;为了找出行数,我编写了一个简单的python脚本:

import pandas as pd

counter=0

for line in pd.read_fwf("test.rpt", chunksize=1):
    counter=counter+1
print(counter)
这似乎工作得很好,但我意识到这是相当缓慢的,真正阅读所有的行是没有必要的

有没有一种方法可以在不读取每行的情况下获得行数


非常感谢

您不需要使用python。使用

 wc -l 

将是这项工作的合适工具。

我不熟悉
.rpt
文件格式,但如果它可以作为文本文件读入(如果您使用的是
pd.read\u fwf
),那么您可能就可以使用Python的内置文件进行输入/输出

with open('test.rpt', 'r') as testfile:
    for i, line in enumerate(testfile):
        pass
    # Add one to get the line count
    print(i+1)

这将允许您(高效地)迭代文件对象的每一行。内置函数将在您阅读时计算每一行。

我想知道Python中是否有方法…:-)抱歉,我需要更准确地说:我现在没有Linux,因为我太懒了,无法使用两个系统,而在Windows上,等效的命令也需要花费一些时间,Linux不需要。使用cygwin。不,不幸的是,这不起作用。。。