read_excel error for header=None and index_col as list · Issue #31783 · pandas-dev/pandas (original) (raw)

Above leads to the following error. This seems to be related to the combination of header=None and index_col as a list. If I give an integer index_col, or leave out header=None (or specify a header) there is no error.

I am seeing this in the latest release (1.0.1) as well as an older one (0.25.3). I haven't been able to install from master because I'm working on windows and don't have a compiler set up.

Example exel file (although the contents doesn't matter, it could be workbook with an empty sheet): Book1.xlsx

<redact>\lib\site-packages\pandas\io\excel\_base.py in read_excel(io, sheet_name, header, names, index_col, usecols, squeeze, dtype, engine, converters, true_values, false_values, skiprows, nrows, na_values, keep_default_na, verbose, parse_dates, date_parser, thousands, comment, skipfooter, convert_float, mangle_dupe_cols, **kwds)
    332         convert_float=convert_float,
    333         mangle_dupe_cols=mangle_dupe_cols,
--> 334         **kwds,
    335     )
    336

<redact>\lib\site-packages\pandas\io\excel\_base.py in parse(self, sheet_name, header, names, index_col, usecols, squeeze, converters, true_values, false_values, skiprows, nrows, na_values, parse_dates, date_parser, thousands, comment, skipfooter, convert_float, mangle_dupe_cols, **kwds)
    883             convert_float=convert_float,
    884             mangle_dupe_cols=mangle_dupe_cols,
--> 885             **kwds,
    886         )
    887

<redact>\lib\site-packages\pandas\io\excel\_base.py in parse(self, sheet_name, header, names, index_col, usecols, squeeze, dtype, true_values, false_values, skiprows, nrows, na_values, verbose, parse_dates, date_parser, thousands, comment, skipfooter, convert_float, mangle_dupe_cols, **kwds)
    467                 # Forward fill values for MultiIndex index.
    468                 if not is_list_like(header):
--> 469                     offset = 1 + header
    470                 else:
    471                     offset = 1 + max(header)

TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'

A DataFrame with two column indexes.