前言:read_excel() 参数说明
pandas 中读取 excel 数据的:pd.read_excel()
pandas.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
)
以下表作为案例,表名为:学习率图形.xlsx
![](https://i-blog.csdnimg.cn/blog_migrate/60aadc6c5413259b71beb2c3e3164c66.png)
1. 基本用法(io)
直接使用 pd.read_excel(r"文件路径")
,默认读取第一个 sheet
的全部数据
实际上就是第一个参数:io
,支持 str, bytes, ExcelFile, xlrd.Book, path object, or file-like object
import pandas as pd
data = pd.read_excel(r'学习率图形.xlsx')
print(data)
![](https://i-blog.csdnimg.cn/blog_migrate/7d031b787714745148675d6ec203d775.png)
2. sheet_name(str, int, list, None, default 0)
str 字符串用于引用的 sheet 的名称
![](https://i-blog.csdnimg.cn/blog_migrate/c3bb5d88e56d73bcff06c15ccf5aa217.png)
import pandas as pd
data = pd.read_excel(r'学习率图形.xlsx', sheet_name='second')
print(data)
![](https://i-blog.csdnimg.cn/blog_migrate/dc7761e15f26b052d4e44a5adff109a3.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c4fc38c5732079d64605304ac75b2aed.png)
int 整数用于引用的sheet的索引(0开始)
import pandas as pd
data = pd.read_excel(r'学习率图形.xlsx', sheet_name=1)
print(data)
![](https://i-blog.csdnimg.cn/blog_migrate/c4fc38c5732079d64605304ac75b2aed.png)
字符串或整数组成的列表用于引用特定的 sheet
import pandas as pd
data = pd.read_excel(r'学习率图形.xlsx', sheet_name=[0, 'second'])
print(data)
![](https://i-blog.csdnimg.cn/blog_migrate/ba6579e57215ffb643f6b468c29f7aec.png)
3. header(int, list of int, default 0)
表示用第几行作为表头,默认 header=0
,即默认第一行为表头
import pandas as pd
data = pd.read_excel(r'学习率图形.xlsx',header=0)
print(data.head())
![](https://i-blog.csdnimg.cn/blog_migrate/42ce49f7d6a957af434f5b6754893b95.png)
hearder=[1,2,3]
:选择第 2,3,4
行的数据作为表头
import pandas as pd
data = pd.read_excel(r'学习率图形.xlsx',header=[1,2,3])
print(data.head())
![](https://i-blog.csdnimg.cn/blog_migrate/3dc9902266a8bce6061e31be624f88fd.png)
header=None
:表示不使用数据源中的表头
import pandas as pd
data = pd.read_excel(r'学习率图形.xlsx',header=None)
print(data.head())
![](https://i-blog.csdnimg.cn/blog_migrate/9764b7bf3bb3c87c0f5eb57114e98ec3.png)
4.names(array-like, default None)
表示自定义表头的名称,需要传递数组参数
import pandas as pd
data = pd.read_excel(r'学习率图形.xlsx', sheet_name=1, names=['algorithm'])
print(data.head())
![](https://i-blog.csdnimg.cn/blog_migrate/5c07145f79c9ad1e439ed5404b4cc405.png)
5. index_col(int, list of int, default None)
指定列为索引列,默认为 None
,也就是索引为 0
的列用作 DataFrame
的行标签
6. usecols(int, str, list-like, or callable default None)
- 默认为
None
,解析所有列 - 如果为
str
,则表示Excel
列字母和列范围的逗号分隔列表(例如"A:E"
或"A, C, E:F"
或'A:B,D:G'
), 范围全闭 - 如果为
int
,则表示解析到第几列。 - 如果为
int
列表,则表示解析那几列。
str:usecols="A:C"
, 只读取从 A
列到 C
列的数据
import pandas as pd
data = pd.read_excel(r'学习率图形.xlsx', usecols="A:C")
print(data.head())
![](https://i-blog.csdnimg.cn/blog_migrate/822519d7393c9b8430f6ccb11dd2a5aa.png)
int:usecols=3
, 表示解析第 0,1,2,3
列,共 4
列
import pandas as pd
data = pd.read_excel(r'学习率图形.xlsx', usecols=3)
print(data.head())
int of list:usecols=[0,1,4]
,表示解析第 1
列,第 2
列,第 5
列的数据
import pandas as pd
data = pd.read_excel(r'学习率图形.xlsx', usecols=[0,1,4])
print(data.head())
![](https://i-blog.csdnimg.cn/blog_migrate/0e0f3776d76328dee3d792f297f93b34.png)
注: 当 header 为多行组成的表头时,使用 usecols 会爆如下错误:
ValueError: cannot specify usecols when specifying a multi-index header
7. squeeze(bool, default False)
默认为 False。如果设置 squeeze=True 则表示如果解析的数据只包含一列,则返回一个 Series。