Skip to content

read_fwf: IndexError: list index out of range when using dtype and usecols parameters #54868

@anmyachev

Description

@anmyachev

Reproducer:

import pandas as pd from io import BytesIO pd.read_fwf(BytesIO(b"a b c d\r\nid8141 360.242940 149.910199 11950.7\r\nid1594 444.953632 166.985655 11788.4\r\n"), usecols=["a", "b", "d"], dtype={"a": str}) # <- IndexError: list index out of range

pandas 2.1.0rc0

Traceback (most recent call last): File "<stdin>", line 1, in <module> File "Miniconda3\envs\modin\lib\site-packages\pandas\io\parsers\readers.py", line 1393, in read_fwf return _read(filepath_or_buffer, kwds) File "Miniconda3\envs\modin\lib\site-packages\pandas\io\parsers\readers.py", line 611, in _read parser = TextFileReader(filepath_or_buffer, **kwds) File "Miniconda3\envs\modin\lib\site-packages\pandas\io\parsers\readers.py", line 1448, in __init__ self._engine = self._make_engine(f, self.engine) File "Miniconda3\envs\modin\lib\site-packages\pandas\io\parsers\readers.py", line 1723, in _make_engine return mapping[engine](f, **self.options) File "Miniconda3\envs\modin\lib\site-packages\pandas\io\parsers\python_parser.py", line 1324, in __init__ PythonParser.__init__(self, f, **kwds) File "Miniconda3\envs\modin\lib\site-packages\pandas\io\parsers\python_parser.py", line 162, in __init__ self._no_thousands_columns = self._set_no_thousand_columns() File "Miniconda3\envs\modin\lib\site-packages\pandas\io\parsers\python_parser.py", line 1186, in _set_no_thousand_columns and self.columns[i] in self.dtype IndexError: list index out of range

Metadata

Metadata

Assignees

No one assigned

    Labels

    IO CSVread_csv, to_csvRegressionFunctionality that used to work in a prior pandas version

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions