Ë
    u™ãjÍ  ã                  ó¸  — d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	m
Z
mZ ddlmZ ddlmZ ddlmZ e	rdd	lmZ dd
lmZ ddlmZmZmZ ddlmZ  ed«       G d„ ded   e«      «       Zedddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„«       Zedddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„«       Z ed«      ddej:                  ddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„«       Zy)z#
Read SAS sas7bdat or xport files.
é    )Úannotations)ÚABCÚabstractmethod)ÚIterator)ÚTYPE_CHECKINGÚSelfÚoverload)Úlib)Ú
set_module)Ústringify_path)ÚHashable)ÚTracebackType)ÚCompressionOptionsÚFilePathÚ
ReadBuffer)Ú	DataFramezpandas.api.typingc                  óV   — e Zd ZdZeddd„«       Zed	d„«       Zd
d„Z	 	 	 	 	 	 	 	 dd„Zy)Ú	SASReaderz<
    Abstract class for XportReader and SAS7BDATReader.
    Nc                 ó   — y ©N© )ÚselfÚnrowss     úb/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/io/sas/sasreader.pyÚreadzSASReader.read*   s   € Ø;>ó    c                 ó   — y r   r   ©r   s    r   ÚclosezSASReader.close-   s   € Ø r   c                ó   — | S r   r   r   s    r   Ú	__enter__zSASReader.__enter__0   s   € Øˆr   c                ó$   — | j                  «        y r   )r   )r   Úexc_typeÚ	exc_valueÚ	tracebacks       r   Ú__exit__zSASReader.__exit__3   s   € ð 	�
‰
�r   r   )r   ú
int | NoneÚreturnr   )r(   ÚNone)r(   r   )r#   ztype[BaseException] | Noner$   zBaseException | Noner%   zTracebackType | Noner(   r)   )	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r!   r&   r   r   r   r   r   $   sU   „ ñð Û>ó Ø>àÚ ó Ø óðà,ðð (ðð (ð	ð
 
ôr   r   r   .)ÚformatÚindexÚencodingÚ	chunksizeÚiteratorÚcompressionc                ó   — y r   r   ©Úfilepath_or_bufferr.   r/   r0   r1   r2   r3   s          r   Úread_sasr7   <   s   € ð r   c                ó   — y r   r   r5   s          r   r7   r7   I   s   € ð  r   ÚpandasNFÚinferc               ó¼  — |€Td}t        | «      } t        | t        «      st        |«      ‚| j	                  «       }d|v rd}nd|v rd}nt        d|›�«      ‚|j	                  «       dk(  rdd	lm}	  |	| ||||¬
«      }
n2|j	                  «       dk(  rddlm}  || ||||¬
«      }
nt        d«      ‚|s|r|
S |
5  |
j                  «       cddd«       S # 1 sw Y   yxY w)aê  
    Read SAS files stored as either XPORT or SAS7BDAT format files.

    The file format is inferred from the file extension if not explicitly
    specified. Supports both full reads and chunked iteration.

    Parameters
    ----------
    filepath_or_buffer : str, path object, or file-like object
        String, path object (implementing ``os.PathLike[str]``), or file-like
        object implementing a binary ``read()`` function. The string could be
        a URL. Valid URL schemes include http, ftp, s3, and file. For file
        URLs, a host is expected. A local file could be:
        ``file://localhost/path/to/table.sas7bdat``.

        Certain URL schemes may require additional packages. For example, S3
        URLs require the ``s3fs`` library. See
        :ref:`install.optional_dependencies` for a full list.
    format : str {'xport', 'sas7bdat'} or None
        If None, file format is inferred from file extension. If 'xport' or
        'sas7bdat', uses the corresponding format.
    index : identifier of index column, defaults to None
        Identifier of column that should be used as index of the DataFrame.
    encoding : str, 'infer' or None, default is None
        Encoding for text data.  If None, text data are stored as raw bytes.
        ``'infer'`` decodes SAS7BDAT files using the encoding recorded in the
        file header, falling back to latin-1 if the header does not name one
        pandas recognizes; XPORT files record no encoding, so ``'infer'``
        means ISO-8859-1 there.

        .. deprecated:: 3.1.0
            The default will change from ``None`` to ``'infer'``, so text data
            will be decoded rather than returned as bytes.  Pass ``None``
            explicitly to keep the current behavior.
    chunksize : int
        Read file `chunksize` lines at a time, returns iterator.
    iterator : bool, defaults to False
        If True, returns an iterator for reading the file incrementally.
    compression : str or dict, default 'infer'
        For on-the-fly decompression of on-disk data. If 'infer' and
        'filepath_or_buffer' is path-like, then detect compression from the
        following extensions: '.gz', '.bz2', '.zip', '.xz', '.zst', '.tar',
        '.tar.gz', '.tar.xz' or '.tar.bz2' (otherwise no compression).
        Set to ``None`` for no decompression.
        Can also be a dict with key ``'method'`` set to one of {``'zip'``,
        ``'gzip'``, ``'bz2'``, ``'zstd'``, ``'xz'``, ``'tar'``} and other
        key-value pairs are forwarded to ``zipfile.ZipFile``,
        ``gzip.GzipFile``, ``bz2.BZ2File``, ``zstandard.ZstdCompressor``,
        ``lzma.LZMAFile`` or ``tarfile.TarFile``, respectively.
        As an example, the following could be passed for faster compression
        and to create a reproducible gzip archive:
        ``compression={'method': 'gzip', 'compresslevel': 1, 'mtime': 1}``.

    Returns
    -------
    DataFrame, SAS7BDATReader, or XportReader
        DataFrame if iterator=False and chunksize=None, else SAS7BDATReader
        or XportReader, file format is inferred from file extension.

    See Also
    --------
    read_csv : Read a comma-separated values (csv) file into a DataFrame.
    read_excel : Read an Excel file into a pandas DataFrame.
    read_spss : Read an SPSS file into a pandas DataFrame.
    read_orc : Load an ORC object into a pandas DataFrame.
    read_feather : Load a feather-format object into a pandas DataFrame.

    Examples
    --------
    >>> df = pd.read_sas("sas_data.sas7bdat")  # doctest: +SKIP
    NzVIf this is a buffer object rather than a string name, you must specify a format stringz.xptÚxportz	.sas7bdatÚsas7bdatz2unable to infer format of SAS file from filename: r   )ÚXportReader)r/   r0   r1   r3   )ÚSAS7BDATReaderzunknown SAS format)
r   Ú
isinstanceÚstrÚ
ValueErrorÚlowerÚpandas.io.sas.sas_xportr>   Úpandas.io.sas.sas7bdatr?   r   )r6   r.   r/   r0   r1   r2   r3   Úbuffer_error_msgÚfnamer>   Úreaderr?   s               r   r7   r7   V   s	  € ðd €~ðCð 	ô ,Ð,>Ó?ÐÜÐ,¬cÔ2ÜÐ-Ó.Ð.Ø"×(Ñ(Ó*ˆØ�U‰?Ø‰FØ˜EÑ!Ø‰FäØDÀUÀIÐNóð ð
 ‡|�|ƒ~˜Ò Ý7áØØØØØ#ô
‰ð 
�‰‹˜:Ò	%Ý9áØØØØØ#ô
‰ô Ð-Ó.Ð.á‘9Øˆà	ñ Ø�{‰{‹}÷÷ ò ús   Â8CÃC)r6   úFilePath | ReadBuffer[bytes]r.   ú
str | Noner/   úHashable | Noner0   ústr | lib.NoDefault | Noner1   Úintr2   Úboolr3   r   r(   r   )r6   rI   r.   rJ   r/   rK   r0   rL   r1   r)   r2   rN   r3   r   r(   úDataFrame | SASReader)r6   rI   r.   rJ   r/   rK   r0   rL   r1   r'   r2   rN   r3   r   r(   rO   )r-   Ú
__future__r   Úabcr   r   Úcollections.abcr   Útypingr   r   r	   Úpandas._libsr
   Úpandas.util._decoratorsr   Úpandas.io.commonr   r   Útypesr   Úpandas._typingr   r   r   r9   r   r   r7   Ú
no_defaultr   r   r   ú<module>rZ      sã  ðñõ #÷õ %÷ñ õ Ý .å +áÝ(Ý#÷ñ õ !ñ ÐÓ ô�˜Ñ% só ó !ðð. 
ð Ø Ø+.ØØØ&)ñ	Ø4ð	ð ð	ð ð		ð
 )ð	ð ð	ð ð	ð $ð	ð ò	ó 
ð	ð 
ð Ø Ø+.ØØØ&)ñ	 Ø4ð	 ð ð	 ð ð		 ð
 )ð	 ð ð	 ð ð	 ð $ð	 ð ò	 ó 
ð	 ñ ˆHÓð Ø!Ø+.¯>©>Ø ØØ&-ñØ4ðð ðð ð	ð
 )ðð ðð ðð $ðð òó ñr   