如何在python中计算rpt文件的数量,而无需大量阅读文档?
我有相当多的数据;更准确地说,一个8GB的rpt文件 现在在处理它之前,我想知道实际有多少行-这有助于我以后了解处理需要多长时间等; 现在用python整体读取这样大小的rpt文件显然不起作用,所以我需要逐行读取;为了找出行数,我编写了一个简单的python脚本:如何在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
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。不,不幸的是,这不起作用。。。