问答

pandas 如何仅读取 excel 表格的表头

作者:admin 2021-09-16 我要评论

使用 pandas 读取 excel表格很简单: import pandas as pdtable = pd.read_excel(io) 加载表格后,若想获得表格表头: table.columns 这种方法可行,但有些时候...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

使用 pandas 读取 excel表格很简单:

import pandas as pd

table = pd.read_excel(io)

加载表格后,若想获得表格表头:

table.columns

这种方法可行,但有些时候其实仅仅只是想直接获得 excel 表格的表头,尤其是当 excel 表格本身体量很大,每次都需要将数据表加载到内存会非常耗时&也没必要,有时甚至会直接溢出卡死,看了一下官方文档,貌似可以使用nrows参数指定只读取 excel 的特定行,意味着可以利用它只读取首行表头:

header = pd.read_excel(io, nrows = 0)

然而实测发现该参数并不能阻止 pandas 读取整个excel 表格,仍然会耗费大量时间和内存。请问各位兄弟姐妹是否有比较好的经验处理这一问题?

###

确实如如此, pandas 无论做什么操作都会先打开表格再读取所有数据
遇到数据量大的表时格我一般会用 xlwings 来协助处理

import xlwings as xw
import pandas as pd

app = xw.App(visible=True, add_book=False) # visible 隐式打开文件
book = app.books.open('xxx.xlsx')  # 打开 excel
sht = book.sheets[0] # 选择 sheet
sht.range('a1:a4').value  #获取值
book.close() # 关闭
app.quit() # 退出

这个方法不用读取所有的数据,而是只选择自己需要的数据。但是打开表格这一步好像是免不了的。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • pandas 如何仅读取 excel 表格的表头

    pandas 如何仅读取 excel 表格的表头

  • gorm预加载 如何输出指定字段

    gorm预加载 如何输出指定字段

  • vue兄弟组件传参数采用的方法

    vue兄弟组件传参数采用的方法

  • &*运算符的应用

    &*运算符的应用

腾讯云代理商
海外云服务器