python - 如何在不广泛阅读文档的情况下计算python中rpt文件的数量?
问题描述
我有很多数据;更准确地说,是一个 8 GB 的 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)
这似乎运作良好 - 但是我意识到它很慢,并且没有必要真正阅读所有行;
有没有办法在不读取每一行的情况下获得行数?
非常感谢
解决方案
我不熟悉.rpt
文件格式,但如果它可以作为文本文件读入(我假设如果你正在使用它可以pd.read_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)
这将允许您(有效地)迭代文件对象的每一行。内置enumerate
函数将在您阅读时计算每一行。
推荐阅读
- spring - Spring Boot 2.1.2:如何将值从 application.properties 传递到 log4j2.xml?
- javascript - ReactJS 秒表,如何处理本地存储数据
- r - 我需要帮助从数据框中删除空行和带有空格的行
- python - 用beautifulsoup4 缺失单元格进行表格刮擦
- java - Java中是否有任何内置函数可以从提取的数据中删除不需要的数据
- java - 使用 Google 地图 api 的演示 android 应用程序崩溃
- c# - 如何从 xml 文件填充 WinForms TreeView,而不管子孙的数量
- matlab - 如何在matlab中创建大量的高斯通道?
- c# - WorklistQuery (C-FIND) 返回 C-Find 响应 [2]: Optional Keys Not Supported
- asp.net-core - 在部署中使用 Google oauth