Skip to main content

数据加载与输出

pandas.read_excel

读取 Excel 文件,需要安装扩展包 xlrdopenpyxl 来分别支持 xlsxlsx 文件格式。

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, na_filter=True, verbose=False,
parse_dates=False, date_parser=None, thousands=None,
comment=None, skipfooter=0, convert_float=None,
mangle_dupe_cols=True, storage_options=None)

常用参数说明

io : str、bytes、ExcelFile、xlrd.Book、path object 或 file-like object

一般为文件路径或文件本身;也可以是 URL 地址,支持协议 http, ftp, s3, 和 file

>>> pd.read_excel('tmp.xlsx', index_col=0)  
Name Value
0 string1 1
1 string2 2
2 #Comment 3

sheet_name : str、int、list 或 None

指定读取的工作表。

  • 默认值为 0 : 读取第一个工作表;
  • 1 : 读取第二个工作表,以此类推;
  • "Sheet1" : 根据工作表名称(”Sheet1“)读取;
  • [0, 1, "Sheet5"] : Load first, second and sheet named “Sheet5” as a dict of DataFrame;
  • None : 读取所有的工作表。
>>> pd.read_excel(open('tmp.xlsx', 'rb'), sheet_name='Sheet1')  
Unnamed: 0 Name Value
0 0 string1 1
1 1 string2 2
2 2 #Comment 3

header : int、 list of int

根据行号指定作为列标签的行,默认为 0 ,也就是第一行。

pd.read_excel('tmp.xlsx', index_col=None, header=None)  
0 1 2
0 NaN Name Value
1 0.0 string1 1
2 1.0 string2 2
3 2.0 #Comment 3

names : 列表

通过列表指定列标签,默认值为 None,如果文件本身不包含 header,需显示说明 header=None

index_col : int、list of int

指定作为行索引的列,默认值为 None

dtype : Type name or dict of column -> type

指定列的类型。

pd.read_excel('tmp.xlsx', index_col=0, dtype={'Name': str, 'Value': float})  
Name Value
0 string1 1.0
1 string2 2.0
2 #Comment 3.0

skiprows : list-like、int、或 callable

从文件开始处算起需要跳过的行。

skipfooter : int

从文件结尾处算起需要跳过的行。