1import sys 2from _csv import ( 3 QUOTE_ALL as QUOTE_ALL, 4 QUOTE_MINIMAL as QUOTE_MINIMAL, 5 QUOTE_NONE as QUOTE_NONE, 6 QUOTE_NONNUMERIC as QUOTE_NONNUMERIC, 7 Error as Error, 8 _reader, 9 _writer, 10 field_size_limit as field_size_limit, 11 get_dialect as get_dialect, 12 list_dialects as list_dialects, 13 reader as reader, 14 register_dialect as register_dialect, 15 unregister_dialect as unregister_dialect, 16 writer as writer, 17) 18from collections import OrderedDict 19from typing import Any, Dict, Iterable, Iterator, List, Mapping, Optional, Sequence, Text, Type, Union 20 21_Dialect = Union[str, Dialect, Type[Dialect]] 22_DictRow = Mapping[str, Any] 23 24class Dialect(object): 25 delimiter: str 26 quotechar: Optional[str] 27 escapechar: Optional[str] 28 doublequote: bool 29 skipinitialspace: bool 30 lineterminator: str 31 quoting: int 32 def __init__(self) -> None: ... 33 34class excel(Dialect): 35 delimiter: str 36 quotechar: str 37 doublequote: bool 38 skipinitialspace: bool 39 lineterminator: str 40 quoting: int 41 42class excel_tab(excel): 43 delimiter: str 44 45if sys.version_info >= (3,): 46 class unix_dialect(Dialect): 47 delimiter: str 48 quotechar: str 49 doublequote: bool 50 skipinitialspace: bool 51 lineterminator: str 52 quoting: int 53 54if sys.version_info >= (3, 6): 55 _DRMapping = OrderedDict[str, str] 56else: 57 _DRMapping = Dict[str, str] 58 59class DictReader(Iterator[_DRMapping]): 60 restkey: Optional[str] 61 restval: Optional[str] 62 reader: _reader 63 dialect: _Dialect 64 line_num: int 65 fieldnames: Sequence[str] 66 def __init__( 67 self, 68 f: Iterable[Text], 69 fieldnames: Optional[Sequence[str]] = ..., 70 restkey: Optional[str] = ..., 71 restval: Optional[str] = ..., 72 dialect: _Dialect = ..., 73 *args: Any, 74 **kwds: Any, 75 ) -> None: ... 76 def __iter__(self) -> DictReader: ... 77 if sys.version_info >= (3,): 78 def __next__(self) -> _DRMapping: ... 79 else: 80 def next(self) -> _DRMapping: ... 81 82class DictWriter(object): 83 fieldnames: Sequence[str] 84 restval: Optional[Any] 85 extrasaction: str 86 writer: _writer 87 def __init__( 88 self, 89 f: Any, 90 fieldnames: Iterable[str], 91 restval: Optional[Any] = ..., 92 extrasaction: str = ..., 93 dialect: _Dialect = ..., 94 *args: Any, 95 **kwds: Any, 96 ) -> None: ... 97 def writeheader(self) -> None: ... 98 def writerow(self, rowdict: _DictRow) -> None: ... 99 def writerows(self, rowdicts: Iterable[_DictRow]) -> None: ... 100 101class Sniffer(object): 102 preferred: List[str] 103 def __init__(self) -> None: ... 104 def sniff(self, sample: str, delimiters: Optional[str] = ...) -> Type[Dialect]: ... 105 def has_header(self, sample: str) -> bool: ... 106