When I run this command df_Future = pd.read_excel(ExcelUI, sheet_name = 'Future', usecols = 'A:AS') df_Future = df_Future[df_Future['Location'].notna()] I get this error in version 3.11.7 which I did not get in version 3.7.6. All I am trying to do is read in columns from one tab in and Excel file. I am doing this numerous times from other Excel files and it seems to work on those. ParserError Traceback (most recent call last) Cell In[10], line 1 ----> 1 df_Future = pd.read_excel(ExcelUI, 2 sheet_name = 'Future', 3 usecols = 'A:AS') 4 df_Future = df_Future[df_Future['Location'].notna()] File C:\ProgramData\anaconda3\Lib\site-packages\pandas\io\excel\_base.py:517, in read_excel(io, sheet_name, header, names, index_col, usecols, dtype, engine, converters, true_values, false_values, skiprows, nrows, na_values, keep_default_na, na_filter, verbose, parse_dates, date_parser, date_format, thousands, decimal, comment, skipfooter, storage_options, dtype_backend, engine_kwargs) 511 raise ValueError( 512 "Engine should not be specified when passing " 513 "an ExcelFile - ExcelFile already has the engine set" 514 ) 516 try: --> 517 data = io.parse( 518 sheet_name=sheet_name, 519 header=header, 520 names=names, 521 index_col=index_col, 522 usecols=usecols, 523 dtype=dtype, 524 converters=converters, 525 true_values=true_values, 526 false_values=false_values, 527 skiprows=skiprows, 528 nrows=nrows, 529 na_values=na_values, 530 keep_default_na=keep_default_na, 531 na_filter=na_filter, 532 verbose=verbose, 533 parse_dates=parse_dates, 534 date_parser=date_parser, 535 date_format=date_format, 536 thousands=thousands, 537 decimal=decimal, 538 comment=comment, 539 skipfooter=skipfooter, 540 dtype_backend=dtype_backend, 541 ) 542 finally: 543 # make sure to close opened file handles 544 if should_close: File C:\ProgramData\anaconda3\Lib\site-packages\pandas\io\excel\_base.py:1629, in ExcelFile.parse(self, sheet_name, header, names, index_col, usecols, converters, true_values, false_values, skiprows, nrows, na_values, parse_dates, date_parser, date_format, thousands, comment, skipfooter, dtype_backend, **kwds) 1589 def parse( 1590 self, 1591 sheet_name: str | int | list[int] | list[str] | None = 0, (...) 1609 **kwds, 1610 ) -> DataFrame | dict[str, DataFrame] | dict[int, DataFrame]: 1611 """ 1612 Parse specified sheet(s) into a DataFrame. 1613 (...) 1627 >>> file.parse() # doctest: +SKIP 1628 """ -> 1629 return self._reader.parse( 1630 sheet_name=sheet_name, 1631 header=header, 1632 names=names, 1633 index_col=index_col, 1634 usecols=usecols, 1635 converters=converters, 1636 true_values=true_values, 1637 false_values=false_values, 1638 skiprows=skiprows, 1639 nrows=nrows, 1640 na_values=na_values, 1641 parse_dates=parse_dates, 1642 date_parser=date_parser, 1643 date_format=date_format, 1644 thousands=thousands, 1645 comment=comment, 1646 skipfooter=skipfooter, 1647 dtype_backend=dtype_backend, 1648 **kwds, 1649 ) Im breaking up the error because it keeps asking me to add more details File C:\ProgramData\anaconda3\Lib\site-packages\pandas\io\excel\_base.py:931, in BaseExcelReader.parse(self, sheet_name, header, names, index_col, usecols, dtype, true_values, false_values, skiprows, nrows, na_values, verbose, parse_dates, date_parser, date_format, thousands, decimal, comment, skipfooter, dtype_backend, **kwds) 929 except Exception as err: 930 err.args = (f"{err.args[0]} (sheet: {asheetname})", *err.args[1:]) --> 931 raise err 933 if last_sheetname is None: 934 raise ValueError("Sheet name is an empty list") File C:\ProgramData\anaconda3\Lib\site-packages\pandas\io\excel\_base.py:893, in BaseExcelReader.parse(self, sheet_name, header, names, index_col, usecols, dtype, true_values, false_values, skiprows, nrows, na_values, verbose, parse_dates, date_parser, date_format, thousands, decimal, comment, skipfooter, dtype_backend, **kwds) 891 # GH 12292 : error when read one empty column from excel file 892 try: --> 893 parser = TextParser( 894 data, 895 names=names, 896 header=header, 897 index_col=index_col, 898 has_index_names=has_index_names, 899 dtype=dtype, 900 true_values=true_values, 901 false_values=false_values, 902 skiprows=skiprows, 903 nrows=nrows, 904 na_values=na_values, 905 skip_blank_lines=False, # GH 39808 906 parse_dates=parse_dates, 907 date_parser=date_parser, 908 date_format=date_format, 909 thousands=thousands, 910 decimal=decimal, 911 comment=comment, 912 skipfooter=skipfooter, 913 usecols=usecols, 914 dtype_backend=dtype_backend, 915 **kwds, 916 ) 918 output[asheetname] = parser.read(nrows=nrows) 920 if header_names: Im breaking up the error because it keeps asking me to add more details File C:\ProgramData\anaconda3\Lib\site-packages\pandas\io\parsers\readers.py:1847, in TextParser(*args, **kwds) 1792 """ 1793 Converts lists of lists/tuples into DataFrames with proper type inference 1794 and optional (e.g. string to datetime) conversion. Also enables iterating (...) 1844 .. versionchanged:: 1.2 1845 """ 1846 kwds["engine"] = "python" -> 1847 return TextFileReader(*args, **kwds) File C:\ProgramData\anaconda3\Lib\site-packages\pandas\io\parsers\readers.py:1448, in TextFileReader.__init__(self, f, engine, **kwds) 1445 self.options["has_index_names"] = kwds["has_index_names"] 1447 self.handles: IOHandles | None = None -> 1448 self._engine = self._make_engine(f, self.engine) File C:\ProgramData\anaconda3\Lib\site-packages\pandas\io\parsers\readers.py:1723, in TextFileReader._make_engine(self, f, engine) 1720 raise ValueError(msg) 1722 try: -> 1723 return mapping[engine](f, **self.options) 1724 except Exception: 1725 if self.handles is not None: File C:\ProgramData\anaconda3\Lib\site-packages\pandas\io\parsers\python_parser.py:131, in PythonParser.__init__(self, f, **kwds) 125 self._col_indices: list[int] | None = None 126 columns: list[list[Scalar | None]] 127 ( 128 columns, 129 self.num_original_columns, 130 self.unnamed_cols, --> 131 ) = self._infer_columns() 133 # Now self.columns has the set of columns that we will process. 134 # The original set is stored in self.original_columns. 135 # error: Cannot determine type of 'index_names' 136 ( 137 self.columns, 138 self.index_names, (...) 143 self.index_names, # type: ignore[has-type] 144 ) File C:\ProgramData\anaconda3\Lib\site-packages\pandas\io\parsers\python_parser.py:540, in PythonParser._infer_columns(self) 538 columns = [names] 539 else: --> 540 columns = self._handle_usecols( 541 columns, columns[0], num_original_columns 542 ) 543 else: 544 ncols = len(self._header_line) File C:\ProgramData\anaconda3\Lib\site-packages\pandas\io\parsers\python_parser.py:615, in PythonParser._handle_usecols(self, columns, usecols_key, num_original_columns) 611 missing_usecols = [ 612 col for col in self.usecols if col >= num_original_columns 613 ] 614 if missing_usecols: --> 615 raise ParserError( 616 "Defining usecols without of bounds indices is not allowed. " 617 f"{missing_usecols} are out of bounds.", 618 ) 619 col_indices = self.usecols 621 columns = [ 622 [n for i, n in enumerate(column) if i in col_indices] 623 for column in columns 624 ] ParserError: Defining usecols without of bounds indices is not allowed. [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44] are out of bounds. (sheet: Future) Continue reading...