a
    é´«j†  ã                   @  s¬   d dl mZ d dlmZ d dlmZ d dl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 d dlmZ ddejfddddddœdd„ZdS )é    )Úannotations)ÚTYPE_CHECKING)Úlib)Úimport_optional_dependency)Úcheck_dtype_backend)Úis_list_like)Ústringify_path)ÚSequence)ÚPath)ÚDtypeBackend)Ú	DataFrameNTz
str | PathzSequence[str] | NoneÚboolzDtypeBackend | lib.NoDefaultr   )ÚpathÚusecolsÚconvert_categoricalsÚdtype_backendÚreturnc                 C  sj   t dƒ}t|ƒ |dur0t|ƒs(tdƒ‚t|ƒ}|jt| ƒ||d�\}}|j|_|t	j
urf|j|d�}|S )a‘  
    Load an SPSS file from the file path, returning a DataFrame.

    Parameters
    ----------
    path : str or Path
        File path.
    usecols : list-like, optional
        Return a subset of the columns. If None, return all columns.
    convert_categoricals : bool, default is True
        Convert categorical columns into pd.Categorical.
    dtype_backend : {'numpy_nullable', 'pyarrow'}, default 'numpy_nullable'
        Back-end data type applied to the resultant :class:`DataFrame`
        (still experimental). Behaviour is as follows:

        * ``"numpy_nullable"``: returns nullable-dtype-backed :class:`DataFrame`
          (default).
        * ``"pyarrow"``: returns pyarrow-backed nullable :class:`ArrowDtype`
          DataFrame.

        .. versionadded:: 2.0

    Returns
    -------
    DataFrame

    Examples
    --------
    >>> df = pd.read_spss("spss_data.sav")  # doctest: +SKIP
    Ú
pyreadstatNzusecols must be list-like.)r   Zapply_value_formats)r   )r   r   r   Ú	TypeErrorÚlistZread_savr   Ú__dict__Úattrsr   Ú
no_defaultZconvert_dtypes)r   r   r   r   r   ZdfÚmetadata© r   úM/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/io/spss.pyÚ	read_spss   s    $
ÿ

r   )Ú
__future__r   Útypingr   Zpandas._libsr   Zpandas.compat._optionalr   Zpandas.util._validatorsr   Zpandas.core.dtypes.inferencer   Zpandas.io.commonr   Úcollections.abcr	   Úpathlibr
   Zpandas._typingr   Zpandasr   r   r   r   r   r   r   Ú<module>   s   ü