3
qdŒ  ã               @   sh   d Z ddlZddlmZmZmZ ddlmZ ddlm	Z	 erHddl
mZ deeee  ddœd	d
„ZdS )z orc compat é    N)ÚTYPE_CHECKINGÚListÚOptional)ÚFilePathOrBuffer)Úget_filepath_or_buffer)Ú	DataFramer   )ÚpathÚcolumnsÚreturnc             K   sb   ddl }tjj|jƒdk r"tdƒ‚ddl}t| ƒ\} }}}|jj	| ƒ}|j
f d|i|—Žjƒ }|S )az  
    Load an ORC object from the file path, returning a DataFrame.

    .. versionadded:: 1.0.0

    Parameters
    ----------
    path : 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.orc``.

        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``.
    columns : list, default None
        If not None, only these columns will be read from the file.
    **kwargs
        Any additional kwargs are passed to pyarrow.

    Returns
    -------
    DataFrame
    r   Nz0.13.0z&pyarrow must be >= 0.13.0 for read_orcr	   )ÚpyarrowÚ	distutilsÚversionÚLooseVersionÚ__version__ÚImportErrorZpyarrow.orcr   ZorcZORCFileÚreadZ	to_pandas)r   r	   Úkwargsr   Ú_Zorc_fileÚresult© r   ú//tmp/pip-build-7vycvbft/pandas/pandas/io/orc.pyÚread_orc   s     r   )N)Ú__doc__r   Útypingr   r   r   Zpandas._typingr   Zpandas.io.commonr   Zpandasr   Ústrr   r   r   r   r   Ú<module>   s   