Skip to content

ExcelFile.parse() and pd.read_xlsx() have different behavior for "sheetname" argument #20920

Closed
@deflatSOCO

Description

@deflatSOCO

Code Sample, a copy-pastable example if possible

  • pd.read_excel()
>>> import pandas as pd
>>> pd.read_excel('sampledata.xlsx', sheet_name='Sheet2')
      a   b       c
0  this  is  sheet2
>>> pd.read_excel('sampledata.xlsx', sheetname='Sheet2')
/Users/<myname>/.pyenv/versions/miniconda3-latest/envs/py36/envs/py36/lib/python3.6/site-packages/pandas/util/_decorators.py:118: FutureWarning: The `sheetname` keyword is deprecated, use `sheet_name` instead
  return func(*args, **kwargs)
      a   b       c
0  this  is  sheet2
  • ExcelFile.parse()
>>> import pandas as pd
>>> xlsx_file=pd.ExcelFile('sampledata.xlsx')
>>> xlsx_file.sheet_names
['Sheet1', 'Sheet2', 'Sheet3']
>>> xlsx_file.parse(sheet_name='Sheet2')
      a   b       c
0  this  is  sheet2
>>> xlsx_file.parse(sheetname='Sheet2')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/<myname>/.pyenv/versions/miniconda3-latest/envs/py36/envs/py36/lib/python3.6/site-packages/pandas/io/excel.py", line 327, in parse
    **kwds)
TypeError: _parse_excel() got multiple values for keyword argument 'sheetname'

Problem description

  • The document says ExcelFile.parse() is "Equivalent to read_excel(ExcelFile, ...)", but when using argument sheetname,which is deprecated, these two gives different results.
    • pd.read_excel() works with FutureWarning, but ExcelFile.parse() gives TypeError instead.

Expected Output

ExcelFile.parse() should raise FutureWarning and use the value of sheetname as that of sheet_name

Output of pd.show_versions()

INSTALLED VERSIONS

commit: None
python: 3.6.4.final.0
python-bits: 64
OS: Darwin
OS-release: 17.5.0
machine: x86_64
processor: i386
byteorder: little
LC_ALL: None
LANG: ja_JP.UTF-8
LOCALE: ja_JP.UTF-8

pandas: 0.22.0
pytest: 3.3.2
pip: 9.0.1
setuptools: 38.4.0
Cython: 0.27.3
numpy: 1.14.0
scipy: 1.0.0
pyarrow: None
xarray: None
IPython: 6.2.1
sphinx: 1.6.6
patsy: 0.5.0
dateutil: 2.6.1
pytz: 2017.3
blosc: None
bottleneck: 1.2.1
tables: 3.4.2
numexpr: 2.6.4
feather: None
matplotlib: 2.1.2
openpyxl: 2.4.10
xlrd: 1.1.0
xlwt: 1.2.0
xlsxwriter: 1.0.2
lxml: 4.1.1
bs4: 4.6.0
html5lib: 1.0.1
sqlalchemy: 1.2.1
pymysql: None
psycopg2: None
jinja2: 2.10
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions