Skip to content

Commit 99d6fae

Browse files
committed
fix dialect issue again
1 parent 3a4473d commit 99d6fae

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

pandas/io/parsers/readers.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1819,7 +1819,7 @@ def _refine_defaults_read(
18191819
return kwds
18201820

18211821

1822-
def _extract_dialect(kwds: dict[str, str]) -> csv.Dialect | None:
1822+
def _extract_dialect(kwds: dict[str, str | csv.Dialect]) -> csv.Dialect | None:
18231823
"""
18241824
Extract concrete csv dialect instance.
18251825
@@ -1831,13 +1831,14 @@ def _extract_dialect(kwds: dict[str, str]) -> csv.Dialect | None:
18311831
return None
18321832

18331833
dialect = kwds["dialect"]
1834-
if dialect in csv.list_dialects():
1834+
if isinstance(dialect, str) and dialect in csv.list_dialects():
18351835
# get_dialect is typed to return a `_csv.Dialect` for some reason in typeshed
18361836
tdialect = cast(csv.Dialect, csv.get_dialect(dialect))
1837-
18381837
_validate_dialect(tdialect)
1838+
18391839
else:
1840-
tdialect = None
1840+
_validate_dialect(dialect)
1841+
tdialect = cast(csv.Dialect, dialect)
18411842

18421843
return tdialect
18431844

0 commit comments

Comments
 (0)