前面我们学习的基本上都是使用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小工具。让我们一起努力,让办公变得简单一点。