• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于python:Pandas-动态确定标题行

python 搞代码 4年前 (2022-02-20) 25次浏览 已收录 0个评论

Pandas是用python语言编写的,超好用的数据处理工具,也提供了特地不便的excel读写性能,能够一句话读入excel文件中所有数据:

import pandas as pd

dataframe = pd.read_excel(io=file_path_name, header=1)

read_excel办法有很多参数,其中header示意第几行是excel文件的题目行——Pandas会应用题目行中的值,当做dataframe中的列名。这个行数从0开始计数,比如说excel是这个样子:

空空空 空空空
姓名 性别
张大柱
王翠花

那么下面的代码就把第2行当做题目行,读出来的dataframe有两列,别离是”姓名”和”性别”,能够用dataframe[‘姓名’],来获取第一列的数据。

但有的时候,咱们不晓得第几行才是题目行,而且excel文件又相当大,比方有上万行,read_excel一次破费的工夫,可能高达数十秒。这时咱们就要在一次性读取数据之前,先确定题目行的地位。

那么就先找找题目行的特色,比方咱们晓得第一列永远都是“姓名”,咱们就能够先循环读取表格中第一列的所有单元格,直到找到“姓名”为止,也就确认题目行了。

正好Pandas底层应用了xlrd来读取excel,这个库也就不必独自装置了,间接援用,退出上面几行代码即可:

import pandas as pd
import xlrd

workbook = xlrd.open_workbook(file_path_name)  # 关上指定的excel文件
sheet = workbook.sheets()[0]  # 读取指定的sheet表格
i = 1  # 假如缺省状况下,第2行是题目行
for i in range(10):
    value = sheet.cell(i, 0).value  # 行号、列号,都是从0开始
    if value == '姓名':
        break
workbook.release_resources()

dataframe = pd.read_excel(io=file_path_name, header=i)

这样无论第几行是题目行,都能正确解析了


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于python:Pandas-动态确定标题行
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址