From 7178fbb8f6740a3564f6d4cdf2381f30061eb9e4 Mon Sep 17 00:00:00 2001 From: Andrew Hawyrluk <50434302+ahawryluk@users.noreply.github.com> Date: Thu, 1 Jul 2021 19:23:08 -0600 Subject: [PATCH] BUG: Ignore chartsheets (#41698) --- doc/source/whatsnew/v1.4.0.rst | 1 + pandas/io/excel/_base.py | 7 ++-- pandas/io/excel/_openpyxl.py | 2 +- pandas/tests/io/data/excel/chartsheet.xls | Bin 0 -> 43008 bytes pandas/tests/io/data/excel/chartsheet.xlsb | Bin 0 -> 18427 bytes pandas/tests/io/data/excel/chartsheet.xlsm | Bin 0 -> 20093 bytes pandas/tests/io/data/excel/chartsheet.xlsx | Bin 0 -> 20069 bytes pandas/tests/io/excel/test_readers.py | 41 +++++++++++++++++++++ 8 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 pandas/tests/io/data/excel/chartsheet.xls create mode 100644 pandas/tests/io/data/excel/chartsheet.xlsb create mode 100644 pandas/tests/io/data/excel/chartsheet.xlsm create mode 100644 pandas/tests/io/data/excel/chartsheet.xlsx diff --git a/doc/source/whatsnew/v1.4.0.rst b/doc/source/whatsnew/v1.4.0.rst index 45c280b89ea28..24f307f23f435 100644 --- a/doc/source/whatsnew/v1.4.0.rst +++ b/doc/source/whatsnew/v1.4.0.rst @@ -173,6 +173,7 @@ MultiIndex I/O ^^^ +- Bug in :func:`read_excel` attempting to read chart sheets from .xlsx files (:issue:`41448`) - - diff --git a/pandas/io/excel/_base.py b/pandas/io/excel/_base.py index 719a4472fb9e3..4d6a766ad6cfa 100644 --- a/pandas/io/excel/_base.py +++ b/pandas/io/excel/_base.py @@ -82,8 +82,9 @@ or ``StringIO``. sheet_name : str, int, list, or None, default 0 Strings are used for sheet names. Integers are used in zero-indexed - sheet positions. Lists of strings/integers are used to request - multiple sheets. Specify None to get all sheets. + sheet positions (chart sheets do not count as a sheet position). + Lists of strings/integers are used to request multiple sheets. + Specify None to get all worksheets. Available cases: @@ -92,7 +93,7 @@ * ``"Sheet1"``: Load sheet with name "Sheet1" * ``[0, 1, "Sheet5"]``: Load first, second and sheet named "Sheet5" as a dict of `DataFrame` - * None: All sheets. + * None: All worksheets. header : int, list of int, default 0 Row (0-indexed) to use for the column labels of the parsed diff --git a/pandas/io/excel/_openpyxl.py b/pandas/io/excel/_openpyxl.py index 03c46f139eeca..d499f1a5ea89f 100644 --- a/pandas/io/excel/_openpyxl.py +++ b/pandas/io/excel/_openpyxl.py @@ -536,7 +536,7 @@ def load_workbook(self, filepath_or_buffer: FilePathOrBuffer): @property def sheet_names(self) -> list[str]: - return self.book.sheetnames + return [sheet.title for sheet in self.book.worksheets] def get_sheet_by_name(self, name: str): self.raise_if_bad_sheet_by_name(name) diff --git a/pandas/tests/io/data/excel/chartsheet.xls b/pandas/tests/io/data/excel/chartsheet.xls new file mode 100644 index 0000000000000000000000000000000000000000..7d027400fbd527d82e7988e3f20a45e23f0936eb GIT binary patch literal 43008 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 ScP~01Wt9Q&^~Hq#p!k0Ub}w)M literal 0 HcmV?d00001 diff --git a/pandas/tests/io/data/excel/chartsheet.xlsm b/pandas/tests/io/data/excel/chartsheet.xlsm new file mode 100644 index 0000000000000000000000000000000000000000..aadb48d6f4824dd3105f65a062d464a29c272a9a GIT binary patch literal 20093 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 Go&A3%_(a|S literal 0 HcmV?d00001 diff --git a/pandas/tests/io/data/excel/chartsheet.xlsx b/pandas/tests/io/data/excel/chartsheet.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..c8d5e7afb3d07d8fe30779134bcec5054c3891b5 GIT binary patch literal 20069 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 l&o%k)