|
11 | 11 |
|
12 | 12 | import collections |
13 | 13 | from collections import abc |
| 14 | +import datetime |
14 | 15 | from io import StringIO |
15 | 16 | import itertools |
16 | 17 | import sys |
|
19 | 20 | IO, |
20 | 21 | TYPE_CHECKING, |
21 | 22 | Any, |
| 23 | + Dict, |
22 | 24 | FrozenSet, |
23 | 25 | Hashable, |
24 | 26 | Iterable, |
|
39 | 41 | from pandas._config import get_option |
40 | 42 |
|
41 | 43 | from pandas._libs import algos as libalgos, lib, properties |
42 | | -from pandas._typing import Axes, Axis, Dtype, FilePathOrBuffer, Level, Renamer |
| 44 | +from pandas._typing import Axes, Axis, Dtype, FilePathOrBuffer, Label, Level, Renamer |
43 | 45 | from pandas.compat import PY37 |
44 | 46 | from pandas.compat._optional import import_optional_dependency |
45 | 47 | from pandas.compat.numpy import function as nv |
@@ -1851,16 +1853,16 @@ def _from_arrays(cls, arrays, columns, index, dtype=None) -> "DataFrame": |
1851 | 1853 | @deprecate_kwarg(old_arg_name="fname", new_arg_name="path") |
1852 | 1854 | def to_stata( |
1853 | 1855 | self, |
1854 | | - path, |
1855 | | - convert_dates=None, |
1856 | | - write_index=True, |
1857 | | - byteorder=None, |
1858 | | - time_stamp=None, |
1859 | | - data_label=None, |
1860 | | - variable_labels=None, |
1861 | | - version=114, |
1862 | | - convert_strl=None, |
1863 | | - ): |
| 1856 | + path: FilePathOrBuffer, |
| 1857 | + convert_dates: Optional[Dict[Label, str]] = None, |
| 1858 | + write_index: bool = True, |
| 1859 | + byteorder: Optional[str] = None, |
| 1860 | + time_stamp: Optional[datetime.datetime] = None, |
| 1861 | + data_label: Optional[str] = None, |
| 1862 | + variable_labels: Optional[Dict[Label, str]] = None, |
| 1863 | + version: Optional[int] = 114, |
| 1864 | + convert_strl: Optional[Sequence[Label]] = None, |
| 1865 | + ) -> None: |
1864 | 1866 | """ |
1865 | 1867 | Export DataFrame object to Stata dta format. |
1866 | 1868 |
|
@@ -1954,19 +1956,22 @@ def to_stata( |
1954 | 1956 | raise ValueError("strl is not supported in format 114") |
1955 | 1957 | from pandas.io.stata import StataWriter as statawriter |
1956 | 1958 | elif version == 117: |
1957 | | - from pandas.io.stata import StataWriter117 as statawriter |
| 1959 | + # mypy: Name 'statawriter' already defined (possibly by an import) |
| 1960 | + from pandas.io.stata import StataWriter117 as statawriter # type: ignore |
1958 | 1961 | else: # versions 118 and 119 |
1959 | | - from pandas.io.stata import StataWriterUTF8 as statawriter |
| 1962 | + # mypy: Name 'statawriter' already defined (possibly by an import) |
| 1963 | + from pandas.io.stata import StataWriterUTF8 as statawriter # type:ignore |
1960 | 1964 |
|
1961 | | - kwargs = {} |
| 1965 | + kwargs: Dict[str, Any] = {} |
1962 | 1966 | if version is None or version >= 117: |
1963 | 1967 | # strl conversion is only supported >= 117 |
1964 | 1968 | kwargs["convert_strl"] = convert_strl |
1965 | 1969 | if version is None or version >= 118: |
1966 | 1970 | # Specifying the version is only supported for UTF8 (118 or 119) |
1967 | 1971 | kwargs["version"] = version |
1968 | 1972 |
|
1969 | | - writer = statawriter( |
| 1973 | + # mypy: Too many arguments for "StataWriter" |
| 1974 | + writer = statawriter( # type: ignore |
1970 | 1975 | path, |
1971 | 1976 | self, |
1972 | 1977 | convert_dates=convert_dates, |
|
0 commit comments