pandas.ExcelFile#

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

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

有关更多文档,请参阅 read_excel。

Parameters:
path_or_bufferstr, bytes, 路径对象 (pathlib.Path 或 py._path.local.LocalPath),

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

enginestr,默认 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

在 1.3.0 版本加入.

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

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

警告

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

engine_kwargsdict, 可选

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

Examples

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

Attributes

Methods

close ()

如果需要,关闭 io

parse ([sheet_name, header, names, ...])

将指定的表解析为 DataFrame。