Pandas|Pandas 动态确定标题行
Pandas是用python语言编写的,超好用的数据处理工具,也提供了特别方便的excel读写功能,可以一句话读入excel文件中所有数据:
import pandas as pddataframe = pd.read_excel(io=file_path_name, header=1)
read_excel方法有很多参数,其中header表示第几行是excel文件的标题行——Pandas会使用标题行中的值,当做dataframe中的列名。这个行数从0开始计数,比如说excel是这个样子:
空空空 | 空空空 |
---|---|
姓名 | 性别 |
张大柱 | 男 |
王翠花 | 女 |
但有的时候,我们不知道第几行才是标题行,而且excel文件又相当大,比如有上万行,read_excel一次花费的时间,可能高达数十秒。这时我们就要在一次性读取数据之前,先确定标题行的位置。
【Pandas|Pandas 动态确定标题行】那么就先找找标题行的特征,比如我们知道第一列永远都是“姓名”,我们就可以先循环读取表格中第一列的所有单元格,直到找到“姓名”为止,也就确认标题行了。
正好Pandas底层使用了xlrd来读取excel,这个库也就不用单独安装了,直接引用,加入下面几行代码即可:
import pandas as pd
import xlrdworkbook = xlrd.open_workbook(file_path_name)# 打开指定的excel文件
sheet = workbook.sheets()[0]# 读取指定的sheet表格
i = 1# 假设缺省情况下,第2行是标题行
for i in range(10):
value = https://www.it610.com/article/sheet.cell(i, 0).value# 行号、列号,都是从0开始
if value =='姓名':
break
workbook.release_resources()dataframe = pd.read_excel(io=file_path_name, header=i)
这样无论第几行是标题行,都能正确解析了
推荐阅读
- 一些杂感(11)
- 现役联盟前十怎么排(詹姆斯榜首无悬念!杜兰特库里位置不确定!)
- 动态组件与v-once指令
- 赢者之心
- 工作一年,我是怎么从确定走到迷茫()
- iview|iview upload 动态改变上传参数
- react-navigation|react-navigation 动态修改 tabBar 样式
- K14|K14 9/15销售提问法D2
- 动态|诗歌《在精神科诊室》发《小说与诗》(香港)报
- 意志力练习2作业