[Pandas] 读取Excel文件

练习数据准备

demo.xlsx

demo.xlsx中的工作表Sheet1显示上述的数据,Sheet2没有数据


我们可以使用Pandas中的read_excel()方法读取Excel格式的数据文件,生成DataFrame数据框进行数据分析处理

基本语法格式

import pandas as pd
pd.read_excel(io, sheet_name=0, header=0, names=None, dtype=None)

参数说明

常用参数描述说明
io文件路径
sheet_name访问Excel指定的工作表,默认读取第一个工作表
header指定数据的标题行,也就是数据的列名(如果不指定,默认第一行作为标题行)
names指定列名
dtype指定某字段的数据类型

下面我们对上述常用的参数进行实际运用与讲解 

1.io参数

io为第一个参数,没有默认值,也不能为空,直接执行read_excel()函数会报错

import pandas as pd
# TypeError: read_excel() missing 1 required positional argument: 'io'
pd.read_excel()
import pandas as pd
# 读取demo.xlsx文件数据
df1 = pd.read_excel(r'C:\Users\X2001565\Desktop\test\demo.xlsx')

df1

2.sheet_name参数

sheet_name可以指定Excel文件读取哪个sheet,如果不指定,默认读取第一个sheet工作表

# 不指定sheetname,默认sheetname=0,读取第一个sheet工作表
# pd.read_excel(r'C:\Users\X2001565\Desktop\test\demo.xlsx')
df2 = pd.read_excel(r'C:\Users\X2001565\Desktop\test\demo.xlsx', sheet_name=0)

df2

# 读取demo.xlsx第2个sheet工作表,由于该文件第2个工作表没有数据,所以生成的df3也没有数据
df3 = pd.read_excel(r'C:\Users\X2001565\Desktop\test\demo.xlsx', sheet_name=1)
'''
Empty DataFrame
Columns: []
Index: []
'''
print(df3)

3.header参数

header参数是用来指定数据的标题行,也就是数据的列名。如果不指定,默认第一行作为标题行(默认header=0是使用第一行数据作为数据的列名)

# 第二行为表头
df4 = pd.read_excel(r'C:\Users\X2001565\Desktop\test\demo.xlsx', header=1)

df4 

header=1, df4指定使用第二行的英文列名 

我们也可以将参数header的值设置为None,不设置表头

# 不设表头
df5 = pd.read_excel(r'C:\Users\X2001565\Desktop\test\demo.xlsx', header=None)

df5

4.names参数

用names参数可指定列名,也就是表头的名称,如果不指定,默认为表头的名称

import pandas as pd

df6 = pd.read_excel(r'C:\Users\X2001565\Desktop\test\demo.xlsx',header=1)

df6

如果数据已经有了列名,names参数将会替换掉原有的列名

import pandas as pd

df6 = pd.read_excel(r'C:\Users\X2001565\Desktop\test\demo.xlsx',header=1, names=list('ABCDEF')

处理过后的df6

如果只想使用names,而又对源数据不做任何修改,我们可以指定header=None 

import pandas as pd

df6 = pd.read_excel(r'C:\Users\X2001565\Desktop\test\demo.xlsx',header=None, names=list('ABCDEF')

处理过后的df6

5.dtype参数

用dtype参数可指定某字段的数据类型 

df7 = pd.read_excel(r'C:\Users\X2001565\Desktop\test\demo.xlsx', header=1)
# dtype('int64')
df7['Q2'].dtype

df7

指定'Q2'字段的数据类型(更改为Object类型)

df7 = pd.read_excel(r'C:\Users\X2001565\Desktop\test\demo.xlsx', header=1, dtype={'Q2': str})
# dtype('O')
df7['Q2'].dtype

处理过后的df7

  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值