3 QUOTE_ALL as QUOTE_ALL,
4 QUOTE_MINIMAL as QUOTE_MINIMAL,
5 QUOTE_NONE as QUOTE_NONE,
6 QUOTE_NONNUMERIC as QUOTE_NONNUMERIC,
12 field_size_limit as field_size_limit,
13 get_dialect as get_dialect,
14 list_dialects as list_dialects,
16 register_dialect as register_dialect,
17 unregister_dialect as unregister_dialect,
20 from collections.abc import Collection, Iterable, Iterator, Mapping, Sequence
21 from typing import Any, Generic, Type, TypeVar, overload
23 if sys.version_info >= (3, 8):
24 from typing import Dict as _DictReadMapping
26 from collections import OrderedDict as _DictReadMapping
34 skipinitialspace: bool
38 class excel_tab(excel):
41 class unix_dialect(Dialect):
45 skipinitialspace: bool
49 class DictReader(Generic[_T], Iterator[_DictReadMapping[_T, str]]):
50 fieldnames: Sequence[_T] | None
60 fieldnames: Sequence[_T],
61 restkey: str | None = ...,
62 restval: str | None = ...,
63 dialect: _DialectLike = ...,
69 self: DictReader[str],
71 fieldnames: Sequence[str] | None = ...,
72 restkey: str | None = ...,
73 restval: str | None = ...,
74 dialect: _DialectLike = ...,
78 def __iter__(self) -> DictReader[_T]: ...
79 def __next__(self) -> _DictReadMapping[_T, str]: ...
81 class DictWriter(Generic[_T]):
82 fieldnames: Collection[_T]
89 fieldnames: Collection[_T],
90 restval: Any | None = ...,
91 extrasaction: str = ...,
92 dialect: _DialectLike = ...,
96 if sys.version_info >= (3, 8):
97 def writeheader(self) -> Any: ...
99 def writeheader(self) -> None: ...
100 def writerow(self, rowdict: Mapping[_T, Any]) -> Any: ...
101 def writerows(self, rowdicts: Iterable[Mapping[_T, Any]]) -> None: ...
103 class Sniffer(object):
105 def __init__(self) -> None: ...
106 def sniff(self, sample: str, delimiters: str | None = ...) -> Type[Dialect]: ...
107 def has_header(self, sample: str) -> bool: ...