pandas.ExcelFile — pandas 2.2.3 documentation (original) (raw)
class pandas.ExcelFile(path_or_buffer, engine=None, storage_options=None, engine_kwargs=None)[source]#
Class for parsing tabular Excel sheets into DataFrame objects.
See read_excel for more documentation.
Parameters:
path_or_bufferstr, bytes, path object (pathlib.Path or py._path.local.LocalPath),
A file-like object, xlrd workbook or openpyxl workbook. If a string or path object, expected to be a path to a .xls, .xlsx, .xlsb, .xlsm, .odf, .ods, or .odt file.
enginestr, default None
If io is not a buffer or path, this must be set to identify io. Supported engines: xlrd
, openpyxl
, odf
, pyxlsb
, calamine
Engine compatibility :
xlrd
supports old-style Excel files (.xls).openpyxl
supports newer Excel file formats.odf
supports OpenDocument file formats (.odf, .ods, .odt).pyxlsb
supports Binary Excel files.calamine
supports Excel (.xls, .xlsx, .xlsm, .xlsb) and OpenDocument (.ods) file formats.
Changed in version 1.2.0: The engine xlrdnow only supports old-style .xls
files. When engine=None
, the following logic will be used to determine the engine:
- If
path_or_buffer
is an OpenDocument format (.odf, .ods, .odt), then odf will be used. - Otherwise if
path_or_buffer
is an xls format,xlrd
will be used. - Otherwise if
path_or_buffer
is in xlsb format,pyxlsb will be used.
Added in version 1.3.0.
- Otherwise if openpyxl is installed, then
openpyxl
will be used. - Otherwise if
xlrd >= 2.0
is installed, aValueError
will be raised.
Warning
Please do not report issues when using xlrd
to read .xlsx
files. This is not supported, switch to using openpyxl
instead.
engine_kwargsdict, optional
Arbitrary keyword arguments passed to excel engine.
Examples
file = pd.ExcelFile('myfile.xlsx')
with pd.ExcelFile("myfile.xls") as xls:
... df1 = pd.read_excel(xls, "Sheet1")
Attributes
Methods
close() | close io if necessary |
---|---|
parse([sheet_name, header, names, ...]) | Parse specified sheet(s) into a DataFrame. |