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
直接使用 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)
str 字符串用于引用的 sheet 的名称
import pandas as pd
data = pd.read_excel(r'学习率图形.xlsx', sheet_name='second')
print(data)
int 整数用于引用的sheet的索引(0开始)
import pandas as pd
data = pd.read_excel(r'学习率图形.xlsx', sheet_name=1)
print(data)
字符串或整数组成的列表用于引用特定的 sheet
import pandas as pd
data = pd.read_excel(r'学习率图形.xlsx', sheet_name=[0, 'second'])
print(data)
表示用第几行作为表头,默认 header=0
,即默认第一行为表头
import pandas as pd
data = pd.read_excel(r'学习率图形.xlsx',header=0)
print(data.head())
hearder=[1,2,3]
:选择第 2,3,4
行的数据作为表头
import pandas as pd
data = pd.read_excel(r'学习率图形.xlsx',header=[1,2,3])
print(data.head())
header=None
:表示不使用数据源中的表头
import pandas as pd
data = pd.read_excel(r'学习率图形.xlsx',header=None)
print(data.head())
表示自定义表头的名称,需要传递数组参数
import pandas as pd
data = pd.read_excel(r'学习率图形.xlsx', sheet_name=1, names=['algorithm'])
print(data.head())
指定列为索引列,默认为 None
,也就是索引为 0
的列用作 DataFrame
的行标签
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())
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())
注: 当 header 为多行组成的表头时,使用 usecols 会爆如下错误:
ValueError: cannot specify usecols when specifying a multi-index header
默认为 False。如果设置 squeeze=True 则表示如果解析的数据只包含一列,则返回一个 Series。