|
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