繁体   English   中英

Pandas read_excel 只获取最后一行

[英]Pandas read_excel get only last row

我有一个每天生成的 excel,最多可以有 50k+ 行。 有没有办法只读取最后一行(这是列的总和)?

现在我只是在阅读整张纸并只保留最后一行,但它占用了大量的运行时间。

我的代码:

df=pd.read_excel(filepath,header=1,usecols="O:AC")
df=df.tail(1)

Pandas 非常慢,尤其是在 memory 数据量很大的情况下。 您可以考虑一种延迟加载方法,例如 check dask 否则,您可以使用“打开”读取文件并读取最后一行:

with open(filepath, "r") as file:
last_line = file.readlines()[-1]

当您阅读 excel 文件时,我认为没有办法减少运行时间。 When you read a excel or one sheet of excel,you would load excel all data into dask,even you use pd.read_excel skiprows,Its just keep the row the skiprows choose after you load all data into dask .So it cant decrease runtime. 如果您真的想减少读取文件的运行时间,您应该将文件保存为另一种格式,.csv 或.txt 等。

而且您通常无法使用 readlines 或 read 等方法将 Microsoft Excel 文件作为文本文件读取。 您应该先将文件转换为另一种格式(好的解决方案是.csv模块可以读取的csv)或使用特殊的python模块直接读取文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM