在读取excel文件时,是否会经常遇到这样不规则的数据,例如下图所示:
在通过python读取时,会导致读取的表会将专题学习也一块读取,实际我们需要的是将姓名行作为表头:
import pandas as pd
table = pd.read_excel("E:\\python_lean\\table\\专题学习表.xlsx")
print(table)
输出结果:
专题学习 Unnamed: 1 Unnamed: 2 Unnamed: 3 Unnamed: 4
0 NaN NaN NaN NaN NaN
1 NaN NaN NaN NaN NaN
2 姓名 学员编号 专题班名称 专题班类型 获得学时
3 小红 20230105 优秀的社畜专修课 必修 4.4
4 小绿 20220411 神奇的牛马选修课 选修 4.4
5 小黑 20201109 如何打碎鸡蛋不让鸡知道 选修 4.4
6 小紫 20240207 成功学会将自己爆炸的秘诀 选修 1.4
7 小黄 20210610 摸鱼是否是必修课的社会研究 必修 2.2
在上图的情况下,需要将第三行作为表头,只需要在表格读取时,使用header参数设定从第几行开始读取,由此达到将姓名行作为表头的目的:
import pandas as pd
table = pd.read_excel("E:\\python_lean\\table\\专题学习表.xlsx",header=3)
print(table)
输出结果:
姓名 学员编号 专题班名称 专题班类型 获得学时
0 小红 20230105 优秀的社畜专修课 必修 4.4
1 小绿 20220411 神奇的牛马选修课 选修 4.4
2 小黑 20201109 如何打碎鸡蛋不让鸡知道 选修 4.4
3 小紫 20240207 成功学会将自己爆炸的秘诀 选修 1.4
4 小黄 20210610 摸鱼是否是必修课的社会研究 必修 2.2