pandas.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, 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)
将Excel文件读入Pandas的DataFrame。
支持从本地文件系统或URL读取的xls、xlsx、xlsm、odf、ods和odt文件扩展名。
支持读取单个工作表或工作表列表的选项。

Parameters

io 任何有效字符串路径都是可以接受的。
sheet_name 字符串用于工作表名称。
整数用于索引工作表位置。
字符串/整数列表用于请求多个工作表。
指定None用于获取所有工作表。
header 用于解析DataFrame的列标签的行索引
names 要使用的列名称列表。
如果文件不包含标题行,那么应该明确地传递header=None
index_col 用于DataFrame的行标签的列索引
usecols
- None:解析所有列;
- str:则表示Excel列字母和列范围的逗号分隔列表,例如 A:E,范围包含双方;
- list of int:则表示要解析的列号列表;
- list of string:则表示要解析的列名列表;
- callable:则根据它评估每个列名,如果可调用返回True,则解析该列;

根据上述行为返回列的子集。 | | squeeze | 如果解析的数据只包含一列,是否只返回一个Series | | dtype | 数据或列的数据类型。 | | engine | 如果io不是缓冲区或路径,则必须将其设置为标识io。
支持的引擎:
- xlrd:支持旧式Excel文件(.xls);
- openpyxl:支持较新的Excel文件格式;
- odf:支持OpenDocument文件格式(.odf、.ods、.odt);
- pyxlsb:支持二进制Excel文件;
| | converters | 用于转换某些列中的值的函数字典 | | true_values | 要视为True的值 | | false_values | 要视为False的值 | | skiprows | 文件开头要跳过的行号或要跳过的行数。
如果可调用,则可调用函数将根据行索引进行评估,如果应跳过该行则返回True,否则返回False。 | | nrows | 要解析的行数 | | na_values | 要识别为NA/NaA的其他字符串。 | | keep_default_na | 解析数据是否包含默认NaN值。
根据是否传入na_values,行为如下:
- True,且指定了na_values:将na_values附加到用于解析的默认NaN值;
- True,且未指定na_values:仅使用默认NaN值进行解析;
- False,且指定了na_values:仅使用na_values指定的NaN值进行解析;
- False,且未指定na_values:则不会将任何字符串解析为NaN;
如果na_filter=False,则keep_default_na和na_values将被忽略。 | | na_filter | 是否检测缺失值(空字符串和na_values的值)。
在没有任何NA的数据中,传递na_filter=False可以提高性能。 | | verbose | 是否指示放置在非数字列中的NA值得数量。 | | parse_dates |
- True:尝试解析索引;
- list of int or names:尝试将列表解析为单独的日期列;
- list of lists:合并后解析为单个日期列;
- dict:将值解析为日期并调用结果键
| | date_parser | 用于将字符串列的序列转换为日期时间实例数组的函数。
默认使用dateutil.parser.parser进行转换。 | | thousands | 用于将字符串列解析为数字的千位分隔符。
此参数仅适用于Excel中存储为TEXT的列。 | | comment | 注释掉行的其余部分。
将一个或多个字符传递给此参数以指示输入文件中的注释。
注释字符串和当行末尾之间的任何数据都将被忽略。 | | skipfooter | 最后要跳过的行索引 | | convert_float | 是否将将整数浮点数转为int。
自1.3.0版本弃用。 | | mangle_dupe_cols | 指定重复的列 | | storage_options | |

Example

  1. # 以文件名方式读取
  2. pd.read_excel("tmp.xlsx", index_col=0)
  3. # 以文件方式读取
  4. pd.read_excel(open("tmp.xlsx", "rb"), sheet_name="Sheet3")
  5. # 行列索引可以被特别指定
  6. pd.read_excel("tmp.xlsx", index_col=None, header=None)
  7. # 列的类型也可以特别指定
  8. pd.read_excel("tmp.xlsx", index_col=0, dtype={"name": str, "value": float})