首页 > 解决方案 > 如何使 pandas 的 read_excel 参数“nrows”动态化

问题描述

我有一个 excel 文件,其中包含来自两个区域的每周应用程序登录报告。它有间隔(03-13-2021 00:00 - 03-19-2021 22:00)等列,平均登录时间。

通常,此报告对于 AMR 区域有 167 行,对于 EME 区域有 167 行。这两个都放在同一张纸上。两个区域数据之间有 23 行的差距。

我正在使用它来提取数据


AMR_Data = pd.read_excel(element, skiprows=38, nrows=167)
EME_Data = pd.read_excel(element, skiprows=228, nrows=167)

有时由于维护活动,数据丢失。因此,这nrows=167不是每次都恒定的。我如何定义 nrows 属性以根据数据进行自我调整。

在此处输入图像描述

标签: pythonpandas

解决方案


我可以在这里想到两种解决方案:

  1. 询问用户输入,说明每个部分中有多少行。这可能是最容易编码的,但需要用户交互。

  2. 读取 Excel 数据并检测行数。这有点困难。而且由于您是手动读取数据,因此您可能不应该使用pandas.read_excel(). 我在这里要记住的是,您一次阅读每一行,直到到达空白行。然后你知道下一组数据开始了。您可以openpyxl在这里使用类似的库来提供帮助。


推荐阅读