Files
2025-09-07 22:09:54 +02:00

126 lines
3.8 KiB
Python

from collections import abc
from collections.abc import Sequence
import datetime
from io import BytesIO
from types import TracebackType
from typing import (
Literal,
overload,
)
from pandas.core.frame import DataFrame
from typing_extensions import Self
from pandas._typing import (
CompressionOptions,
FilePath,
HashableT,
HashableT1,
HashableT2,
HashableT3,
ReadBuffer,
StataDateFormat,
StorageOptions,
WriteBuffer,
)
@overload
def read_stata(
filepath_or_buffer: FilePath | ReadBuffer[bytes],
*,
convert_dates: bool = ...,
convert_categoricals: bool = ...,
index_col: str | None = ...,
convert_missing: bool = ...,
preserve_dtypes: bool = ...,
columns: list[HashableT] | None = ...,
order_categoricals: bool = ...,
chunksize: int | None = ...,
iterator: Literal[True],
compression: CompressionOptions = ...,
storage_options: StorageOptions = ...,
) -> StataReader: ...
@overload
def read_stata(
filepath_or_buffer: FilePath | ReadBuffer[bytes],
*,
convert_dates: bool = ...,
convert_categoricals: bool = ...,
index_col: str | None = ...,
convert_missing: bool = ...,
preserve_dtypes: bool = ...,
columns: list[HashableT] | None = ...,
order_categoricals: bool = ...,
chunksize: int,
iterator: bool = ...,
compression: CompressionOptions = ...,
storage_options: StorageOptions = ...,
) -> StataReader: ...
@overload
def read_stata(
filepath_or_buffer: FilePath | ReadBuffer[bytes],
*,
convert_dates: bool = ...,
convert_categoricals: bool = ...,
index_col: str | None = ...,
convert_missing: bool = ...,
preserve_dtypes: bool = ...,
columns: list[HashableT] | None = ...,
order_categoricals: bool = ...,
chunksize: None = ...,
iterator: Literal[False] = ...,
compression: CompressionOptions = ...,
storage_options: StorageOptions = ...,
) -> DataFrame: ...
class StataParser:
def __init__(self) -> None: ...
class StataReader(StataParser, abc.Iterator):
col_sizes: list[int] = ...
path_or_buf: BytesIO = ...
def __init__(
self,
path_or_buf: FilePath | ReadBuffer[bytes],
convert_dates: bool = ...,
convert_categoricals: bool = ...,
index_col: str | None = ...,
convert_missing: bool = ...,
preserve_dtypes: bool = ...,
columns: Sequence[str] | None = ...,
order_categoricals: bool = ...,
chunksize: int | None = ...,
compression: CompressionOptions = ...,
storage_options: StorageOptions = ...,
) -> None: ...
def __enter__(self) -> Self: ...
def __exit__(
self,
exc_type: type[BaseException] | None,
exc_value: BaseException | None,
traceback: TracebackType | None,
) -> None: ...
def __next__(self) -> DataFrame: ...
@property
def data_label(self) -> str: ...
def variable_labels(self) -> dict[str, str]: ...
def value_labels(self) -> dict[str, dict[float, str]]: ...
class StataWriter(StataParser):
def __init__(
self,
fname: FilePath | WriteBuffer[bytes],
data: DataFrame,
convert_dates: dict[HashableT1, StataDateFormat] | None = ...,
write_index: bool = ...,
byteorder: str | None = ...,
time_stamp: datetime.datetime | None = ...,
data_label: str | None = ...,
variable_labels: dict[HashableT2, str] | None = ...,
compression: CompressionOptions = ...,
storage_options: StorageOptions = ...,
*,
value_labels: dict[HashableT3, dict[float, str]] | None = ...,
) -> None: ...
def write_file(self) -> None: ...