pandas.ExcelFile#

class pandas.ExcelFile(path_or_buffer, engine=None, storage_options=None, engine_kwargs=None)[源代码][源代码]#

用于将表格Excel表格解析为DataFrame对象的类。

更多文档请参见 read_excel。

参数:
path_or_bufferstr, bytes, pathlib.Path,

一个类文件对象、xlrd 工作簿或 openpyxl 工作簿。如果是一个字符串或路径对象,则预期是一个指向 .xls、.xlsx、.xlsb、.xlsm、.odf、.ods 或 .odt 文件的路径。

引擎str, 默认为 None

如果 io 不是一个缓冲区或路径,这必须被设置以识别 io。支持的引擎:xlrdopenpyxlodfpyxlsbcalamine 引擎兼容性:

  • xlrd 支持旧式 Excel 文件 (.xls)。

  • openpyxl 支持较新的 Excel 文件格式。

  • odf 支持 OpenDocument 文件格式 (.odf, .ods, .odt)。

  • pyxlsb 支持二进制 Excel 文件。

  • calamine 支持 Excel (.xls, .xlsx, .xlsm, .xlsb) 和 OpenDocument (.ods) 文件格式。

在 1.2.0 版本发生变更: 引擎 xlrd 现在仅支持旧式的 .xls 文件。当 engine=None 时,将使用以下逻辑来确定引擎:

  • 如果 path_or_buffer 是 OpenDocument 格式(.odf, .ods, .odt),那么将使用 odf

  • 否则,如果 path_or_buffer 是 xls 格式,将使用 xlrd

  • 否则,如果 path_or_buffer 是 xlsb 格式,将使用 pyxlsb

Added in version 1.3.0:

  • 否则,如果安装了 openpyxl,则将使用 openpyxl

  • 否则,如果安装了 xlrd >= 2.0 ,将会引发 ValueError

警告

请不要在使用 xlrd 读取 .xlsx 文件时报告问题。这不支持,请改用 openpyxl

storage_options字典, 可选

对于特定存储连接有意义的额外选项,例如主机、端口、用户名、密码等。对于HTTP(S) URL,键值对会作为头选项转发到 urllib.request.Request。对于其他URL(例如以“s3://”和“gcs://”开头),键值对会转发到 fsspec.open。请参阅 fsspecurllib 获取更多详细信息,关于存储选项的更多示例请参考 这里

engine_kwargs字典, 可选

传递给 excel 引擎的任意关键字参数。

参见

DataFrame.to_excel

将 DataFrame 写入 Excel 文件。

DataFrame.to_csv

将 DataFrame 写入一个逗号分隔值(csv)文件。

read_csv

将逗号分隔值(csv)文件读取到 DataFrame 中。

read_fwf

将固定宽度格式化的行读取到 DataFrame 中。

示例

>>> file = pd.ExcelFile("myfile.xlsx")  
>>> with pd.ExcelFile("myfile.xls") as xls:  
...     df1 = pd.read_excel(xls, "Sheet1")  

属性

book

获取 Excel 工作簿。

sheet_names

文档中工作表的名称。

方法

关闭()

如果必要,关闭io

解析([sheet_name, header, names, ...])

将指定的表格解析为 DataFrame。