导读:pandas.read_excel接口用于读取Excel格式的数据文件,由于它使用非常频繁、功能强大、参数众多,因此本文专门做详细介绍。
作者:李庆辉
来源:大数据DT(ID:hzdashuju)
01 语法
pandas.read_excel接口的语法如下:
pd.read_excel(io, sheet_name=
0
, header=
0
,

              names=
None
, index_col=
None
,

              usecols=
None
, squeeze=
False
,

              dtype=
None
, engine=
None
,

              converters=
None
, true_values=
None
,

              false_values=
None
, skiprows=
None
,

              nrows=
None
, na_values=
None
,

              keep_default_na=
True
, verbose=
False
,

              parse_dates=
False
, date_parser=
None
,

              thousands=
None
, comment=
None
, skipfooter=
0
,

              convert_float=
True
, mangle_dupe_cols=
True
, **kwds)
02 文件内容
io为第一个参数,没有默认值,也不能为空,根据Python的语法,第一个参数传参时可以不写。可以传入本地文件名或者远程文件的URL:
# 字符串、字节、Excel文件、xlrd.Book实例、路径对象或者类似文件的对象
# 本地相对路径
pd.read_excel(
'data/data.xlsx'
# 注意目录层级
pd.read_excel(
'data.xls'
# 如果文件与代码文件在同一目录下
# 本地绝对路径
pd.read_excel(
'/user/gairuo/data/data.xlsx'
)

# 使用URL
pd.read_excel(
'https://www.gairuo.com/file/data/dataset/team.xlsx'
)
与read_csv一样,需要注意,Mac和Windows中的路径写法不一样。
03 表格
sheet_name可以指定Excel文件读取哪个sheet,如果不指定,默认读取第一个。
# 字符串、整型、列表、None,默认为0
pd.read_excel(
'tmp.xlsx'
, sheet_name=
1
# 第二个sheet
pd.read_excel(
'tmp.xlsx'
, sheet_name=
'总结表'
# 按sheet的名字

# 读取第一个、第二个、名为Sheet5的sheet,返回一个df组成的字典
dfs = pd.read_excel(
'tmp.xlsx'
, sheet_name=[
0
1
"Sheet5"
])

dfs = pd.read_excel(
'tmp.xlsx'
, sheet_name=
None
# 所有sheet
dfs[
'Sheet5'
# 读取时按sheet名
04 表头
数据的表头参数为header,如不指定,默认为第一行。
# 整型、整型组成的列表,默认为 0
pd.read_excel(
'tmp.xlsx'
, header=
None
)  
# 不设表头
pd.read_excel(
'tmp.xlsx'
, header=
2
)  
# 第三行为表头
pd.read_excel(
'tmp.xlsx'
, header=[
0
1
])  
# 两层表头,多层索引
05 列名
用names指定列名,也就是表头的名称,如不指定,默认为表头的名称。
# 序列,默认为None
pd.read_excel(
'tmp.xlsx'
, names=[
'姓名'
'年龄'
'成绩'
])

pd.read_excel(
'tmp.xlsx'
, names=c_list) 
# 传入列表变量
# 没有表头,需要设置为None
pd.read_excel(
'tmp.xlsx'
, header=
None
, names=
None
)
06 其他
其他参数与pandas.read_csv的同名参数功能一致,如果想使用仅pandas.read_csv有的参数,可以考虑将数据保存为CSV文件,因为CSV文件相对通用、读取数据快且处理方法比较丰富。
用Python读取CSV文件的操作详解可戳:史上最全!用Pandas读取CSV,看这篇就够了
07 小结
本文介绍了pandas.read_excel相对于pandas.read_csv专有的参数功能。由于Excel文件在日常工作中较为常用,所以需要熟练掌握Excel的数据读取功能。另外对于一些量比较小的Excel数据文件,在做数据临时处理时,可以复制并使用pd.read_clipboard()来读取,非常方便。
关于作者:李庆辉,数据产品专家,某电商公司数据产品团队负责人,擅长通过数据治理、数据分析、数据化运营提升公司的数据应用水平。精通Python数据科学及Python Web开发,曾独立开发公司的自动化数据分析平台,参与教育部“1+X”数据分析(Python)职业技能等级标准评审。中国人工智能学会会员,企业数字化、数据产品和数据分析讲师,在个人网站“盖若”上编写的技术和产品教程广受欢迎。
本书摘编自《深入浅出Pandas:利用Python进行数据处理与分析》,机械工业出版社华章公司2021年出版。转载请与我们取得授权。
延伸阅读深入浅出Pandas
点击上图了解及购买

转载请联系微信:DoctorData
推荐语:这是一本全面覆盖了Pandas使用者的普遍需求和痛点的著作,基于实用、易学的原则,从功能、使用、原理等多个维度对Pandas做了全方位的详细讲解,既是初学者系统学习Pandas难得的入门书,又是有经验的Python工程师案头必不可少的查询手册。《利用Python进行数据分析》学习伴侣,用好Python必备。
划重点👇
更多精彩👇
在公众号对话框输入以下关键词
查看更多优质内容!
PPT | 读书 | 书单 | 硬核 | 干货|讲明白|神操作
大数据 | 云计算 | 数据库 | Python | 爬虫 | 可视化
AI | 人工智能 | 机器学习 | 深度学习 | NLP
5G|中台 | 用户画像1024 | 数学 | 算法 数字孪生
据统计,99%的大咖都关注了这个公众号
👇
继续阅读
阅读原文