在 Pandas 中,read_excel() 中使用的 read_csv() 中的“nrows”等同于什么?

新手上路,请多包涵

只想将特定范围的数据从 excel 电子表格(.xlsm 格式,因为它有宏)导入 pandas 数据框。是这样做的:

 data    = pd.read_excel(filepath, header=0,  skiprows=4, nrows= 20, parse_cols = "A:D")

但似乎 nrows 只适用于 read_csv() ? read_excel() 的等价物是什么?

原文由 Gabriel 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 315
2 个回答

如果您知道 Excel 工作表中的行数,则可以使用 _skipfooter 参数读取文件的前 n - skip_footer 行,其中 n 是总行数。

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_excel.html

用法:

 data = pd.read_excel(filepath, header=0, parse_cols = "A:D", skip_footer=80)

假设您的 Excel 工作表有 100 行,此行将解析前 20 行。

原文由 Erol 发布,翻译遵循 CC BY-SA 3.0 许可协议

文档中所述,从 pandas 版本 0.23 开始,这现在是一个内置选项,并且功能几乎与 OP 所述完全相同。

代码

data = pd.read_excel(filepath, header=0, skiprows=4, nrows= 20, use_cols = "A:D")

现在会读取excel文件,从第一张sheet取数据(默认),跳过4行数据, 然后 取第一行(即sheet的第五行)作为表头,将接下来的20行数据读入数据框(第 6-25 行),并且只使用 A:D 列。请注意,use_cols 现在是最后一个选项,因为 parse_cols 已被弃用。

原文由 NathanielDavidChu 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题