python pandas是如何读取excel表中的sheet的(一)

前面我们学习的基本上都是使用pandas读取数据以后做一些处理,但是关于pd.read_excel()函数本身并没有做过多的介绍,今天我们就来讨论一下它。先讨论第一个参数,sheet_name。
关于sheet_name的解释,调用help方法之后,文档给出的释义如下:
sheet_name : str, int, list, or None, default 0
Strings are used for sheet names. Integers are used in zero-indexed
sheet positions. Lists of strings/integers are used to request
multiple sheets. Specify None to get all sheets.

    Available cases:

    * Defaults to ``0``: 1st sheet as a `DataFrame`(数字0代表第一张表)
    * ``1``: 2nd sheet as a `DataFrame`(数字1代表第二张表)
    * ``"Sheet1"``: Load sheet with name "Sheet1"(也可以直接使用表名)
    * ``[0, 1, "Sheet5"]``: Load first, second and sheet named "Sheet5"
    *  as a dict of `DataFrame`
    (也可以使用列表,列表里既可以使用index,也可以使用表名)
    * None: All sheets.
    (None代表所有数字)

示例代码如下(此excel中有三张表,顺序分别是’Sheet1’,‘Sheet2’,‘Sheet3’):

import pandas as pd
# 按照表名读取
>>> df = pd.read_excel(r'D:\myExcel/1.xlsx', sheet_name='Sheet2')
>>> df
  name  Chinese
0   lc       78
1   lb       79


# 按照index读取,1代表第二张表,默认是0 即默认只读取第一张表
>>> df = pd.read_excel(r'D:\myExcel/1.xlsx', sheet_name=1)
>>> df
  name  Chinese
0   lc       78
1   lb       79


# 同时读取两张表,输入参数为列表
# 返回的是一个有序字典
>>> dfs = pd.read_excel(r'D:\myExcel/1.xlsx', sheet_name=[0, 'Sheet3'])
>>> dfs
OrderedDict([(0,      name  math  science
0     bob    23       12
1  millor    32       32
2   jiken    61       89
3     tom    34       94
4    json    83       12
5    dela    96       67
6   rison    90       34), ('Sheet3',   name  English
0   ld       32
1   by       98)])

# 我们可以通过get方法获取指定的df
>>> df1 = dfs.get(0)
>>> df1
     name  math  science
0     bob    23       12
1  millor    32       32
2   jiken    61       89
3     tom    34       94
4    json    83       12
5    dela    96       67
6   rison    90       34
# 也可以通过keys()方法获取所有的表名信息
>>> names = dfs.keys()
>>> names
odict_keys([0, 'Sheet3'])

# 当sheet_name为None时默认读取所有的表
>>> dfs = pd.read_excel(r'D:\myExcel/1.xlsx', sheet_name=None)
>>> dfs
OrderedDict([('Sheet1',      name  math  science
0     bob    23       12
1  millor    32       32
2   jiken    61       89
3     tom    34       94
4    json    83       12
5    dela    96       67
6   rison    90       34), ('Sheet2',   name  Chinese
0   lc       78
1   lb       79), ('Sheet3',   name  English
0   ld       32
1   by       98)])

哈哈,以上就是pandas读取excel时的sheet_name的所有用法,简单且实用。欢迎关注:python小工具。让我们一起努力,让办公变得简单一点。
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>