HOME


sh-3ll 1.0
DIR:/usr/local/lib64/python3.6/site-packages/pandas/io/sas/__pycache__/
Upload File :
Current File : //usr/local/lib64/python3.6/site-packages/pandas/io/sas/__pycache__/sasreader.cpython-36.pyc
3

���h��@sdZddlmZmZddlmZmZmZmZddl	m
Z
mZddlm
Z
erXddlmZGdd�ded	�Zede
eeeeeeeeed�dd
��Zede
eeeeeedeedefd�dd
��Zde
eeeeeeeeeedefd�dd
�ZdS)z#
Read SAS sas7bdat or xport files.
�)�ABCMeta�abstractmethod)�
TYPE_CHECKING�Optional�Union�overload)�FilePathOrBuffer�Label)�stringify_path)�	DataFramec@s*eZdZdZeddd��Zedd��ZdS)�
ReaderBasez>
    Protocol for XportReader and SAS7BDATReader classes.
    NcCsdS)N�)�selfZnrowsr
r
�9/tmp/pip-build-5_djhm0z/pandas/pandas/io/sas/sasreader.py�readszReaderBase.readcCsdS)Nr
)rr
r
r�closeszReaderBase.close)N)�__name__�
__module__�__qualname__�__doc__rrrr
r
r
rrsr)�	metaclass.)�filepath_or_buffer�format�index�encoding�	chunksize�iterator�returncCsdS)Nr
)rrrrrrr
r
r�read_sass	rNrcCsdS)Nr
)rrrrrrr
r
rr*s	FcCs�|dkrVd}t|�}t|t�s&t|��|j�}|jd�r>d}n|jd�rNd}ntd��|j�dkr�dd	lm}|||||d
�}	n2|j�dkr�ddlm	}
|
||||d
�}	ntd��|s�|r�|	S|	j
�}|	j�|S)
a|
    Read SAS files stored as either XPORT or SAS7BDAT format files.

    Parameters
    ----------
    filepath_or_buffer : str, path object or file-like object
        Any valid string path is acceptable. 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.sas``.

        If you want to pass in a path object, pandas accepts any
        ``os.PathLike``.

        By file-like object, we refer to objects with a ``read()`` method,
        such as a file handler (e.g. via builtin ``open`` function)
        or ``StringIO``.
    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, default is None
        Encoding for text data.  If None, text data are stored as raw bytes.
    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.

    Returns
    -------
    DataFrame if iterator=False and chunksize=None, else SAS7BDATReader
    or XportReader
    NzVIf this is a buffer object rather than a string name, you must specify a format stringz.xptZxportz	.sas7bdatZsas7bdatz"unable to infer format of SAS filer)�XportReader)rrr)�SAS7BDATReaderzunknown SAS format)r
�
isinstance�str�
ValueError�lower�endswithZpandas.io.sas.sas_xportrZpandas.io.sas.sas7bdatr rr)rrrrrrZbuffer_error_msg�fnamer�readerr �datar
r
rr6s2*


).....).....)NNNNF)r�abcrrZtypingrrrrZpandas._typingrr	Zpandas.io.commonr
Zpandasrrr"�int�boolrr
r
r
r�<module>s6