diff --git a/pandas/io/parsers/readers.py b/pandas/io/parsers/readers.py index f853251d599d2..56df5493027c5 100644 --- a/pandas/io/parsers/readers.py +++ b/pandas/io/parsers/readers.py @@ -11,6 +11,7 @@ IO, Any, Callable, + Hashable, Literal, NamedTuple, Sequence, @@ -23,11 +24,11 @@ import pandas._libs.lib as lib from pandas._libs.parsers import STR_NA_VALUES from pandas._typing import ( - ArrayLike, CompressionOptions, CSVEngine, DtypeArg, FilePath, + IndexLabel, ReadCsvBuffer, StorageOptions, ) @@ -521,7 +522,7 @@ def validate_integer(name, val, min_val=0): return val -def _validate_names(names): +def _validate_names(names: Sequence[Hashable] | None) -> None: """ Raise ValueError if the `names` parameter contains duplicates or has an invalid data type. @@ -596,8 +597,8 @@ def read_csv( sep: str | None | lib.NoDefault = ..., delimiter: str | None | lib.NoDefault = ..., header: int | Sequence[int] | None | Literal["infer"] = ..., - names=..., - index_col=..., + names: Sequence[Hashable] | None | lib.NoDefault = ..., + index_col: IndexLabel | Literal[False] | None = ..., usecols=..., squeeze: bool | None = ..., prefix: str | lib.NoDefault = ..., @@ -656,8 +657,8 @@ def read_csv( sep: str | None | lib.NoDefault = ..., delimiter: str | None | lib.NoDefault = ..., header: int | Sequence[int] | None | Literal["infer"] = ..., - names=..., - index_col=..., + names: Sequence[Hashable] | None | lib.NoDefault = ..., + index_col: IndexLabel | Literal[False] | None = ..., usecols=..., squeeze: bool | None = ..., prefix: str | lib.NoDefault = ..., @@ -716,8 +717,8 @@ def read_csv( sep: str | None | lib.NoDefault = ..., delimiter: str | None | lib.NoDefault = ..., header: int | Sequence[int] | None | Literal["infer"] = ..., - names=..., - index_col=..., + names: Sequence[Hashable] | None | lib.NoDefault = ..., + index_col: IndexLabel | Literal[False] | None = ..., usecols=..., squeeze: bool | None = ..., prefix: str | lib.NoDefault = ..., @@ -776,8 +777,8 @@ def read_csv( sep: str | None | lib.NoDefault = ..., delimiter: str | None | lib.NoDefault = ..., header: int | Sequence[int] | None | Literal["infer"] = ..., - names=..., - index_col=..., + names: Sequence[Hashable] | None | lib.NoDefault = ..., + index_col: IndexLabel | Literal[False] | None = ..., usecols=..., squeeze: bool | None = ..., prefix: str | lib.NoDefault = ..., @@ -846,8 +847,8 @@ def read_csv( delimiter: str | None | lib.NoDefault = None, # Column and Index Locations and Names header: int | Sequence[int] | None | Literal["infer"] = "infer", - names=lib.no_default, - index_col=None, + names: Sequence[Hashable] | None | lib.NoDefault = lib.no_default, + index_col: IndexLabel | Literal[False] | None = None, usecols=None, squeeze: bool | None = None, prefix: str | lib.NoDefault = lib.no_default, @@ -935,8 +936,8 @@ def read_table( sep: str | None | lib.NoDefault = ..., delimiter: str | None | lib.NoDefault = ..., header: int | Sequence[int] | None | Literal["infer"] = ..., - names=..., - index_col=..., + names: Sequence[Hashable] | None | lib.NoDefault = ..., + index_col: IndexLabel | Literal[False] | None = ..., usecols=..., squeeze: bool | None = ..., prefix: str | lib.NoDefault = ..., @@ -995,8 +996,8 @@ def read_table( sep: str | None | lib.NoDefault = ..., delimiter: str | None | lib.NoDefault = ..., header: int | Sequence[int] | None | Literal["infer"] = ..., - names=..., - index_col=..., + names: Sequence[Hashable] | None | lib.NoDefault = ..., + index_col: IndexLabel | Literal[False] | None = ..., usecols=..., squeeze: bool | None = ..., prefix: str | lib.NoDefault = ..., @@ -1055,8 +1056,8 @@ def read_table( sep: str | None | lib.NoDefault = ..., delimiter: str | None | lib.NoDefault = ..., header: int | Sequence[int] | None | Literal["infer"] = ..., - names=..., - index_col=..., + names: Sequence[Hashable] | None | lib.NoDefault = ..., + index_col: IndexLabel | Literal[False] | None = ..., usecols=..., squeeze: bool | None = ..., prefix: str | lib.NoDefault = ..., @@ -1115,8 +1116,8 @@ def read_table( sep: str | None | lib.NoDefault = ..., delimiter: str | None | lib.NoDefault = ..., header: int | Sequence[int] | None | Literal["infer"] = ..., - names=..., - index_col=..., + names: Sequence[Hashable] | None | lib.NoDefault = ..., + index_col: IndexLabel | Literal[False] | None = ..., usecols=..., squeeze: bool | None = ..., prefix: str | lib.NoDefault = ..., @@ -1185,8 +1186,8 @@ def read_table( delimiter: str | None | lib.NoDefault = None, # Column and Index Locations and Names header: int | Sequence[int] | None | Literal["infer"] = "infer", - names=lib.no_default, - index_col=None, + names: Sequence[Hashable] | None | lib.NoDefault = lib.no_default, + index_col: IndexLabel | Literal[False] | None = None, usecols=None, squeeze: bool | None = None, prefix: str | lib.NoDefault = lib.no_default, @@ -1932,7 +1933,7 @@ def _refine_defaults_read( error_bad_lines: bool | None, warn_bad_lines: bool | None, on_bad_lines: str | Callable | None, - names: ArrayLike | None | lib.NoDefault, + names: Sequence[Hashable] | None | lib.NoDefault, prefix: str | None | lib.NoDefault, defaults: dict[str, Any], ):