a
    Of                     @  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rd 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   G/var/www/ai-form-bot/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   