ó
šxŠ\c           @   sB   d  Z  d d l m Z d d l m Z d d d d e d „ Z d S(   s#   
Read SAS sas7bdat or xport files.
iÿÿÿÿ(   t   compat(   t   _stringify_pathc         C   sF  | d k rŠ d } t |  ƒ }  t |  t j ƒ s? t | ƒ ‚ n  |  j ƒ  } | j d ƒ rc d } qŠ | j d ƒ r{ d } qŠ t d ƒ ‚ n  | j ƒ  d k rÍ d d l m	 } | |  d	 | d
 | d | ƒ}	 nO | j ƒ  d k rd d l
 m }
 |
 |  d	 | d
 | d | ƒ}	 n t d ƒ ‚ | s(| r,|	 S|	 j ƒ  } |	 j ƒ  | S(   s  
    Read SAS files stored as either XPORT or SAS7BDAT format files.

    Parameters
    ----------
    filepath_or_buffer : string or file-like object
        Path to the SAS file.
    format : string {'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 : string, 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
    sV   If this is a buffer object rather than a string name, you must specify a format strings   .xptt   xports	   .sas7bdatt   sas7bdats"   unable to infer format of SAS fileiÿÿÿÿ(   t   XportReadert   indext   encodingt	   chunksize(   t   SAS7BDATReaders   unknown SAS formatN(   t   NoneR   t
   isinstanceR    t   string_typest
   ValueErrort   lowert   endswitht   pandas.io.sas.sas_xportR   t   pandas.io.sas.sas7bdatR   t   readt   close(   t   filepath_or_buffert   formatR   R   R   t   iteratort   buffer_error_msgt   fnameR   t   readerR   t   data(    (    s6   lib/python2.7/site-packages/pandas/io/sas/sasreader.pyt   read_sas	   s6    		
N(   t   __doc__t   pandasR    t   pandas.io.commonR   R	   t   FalseR   (    (    (    s6   lib/python2.7/site-packages/pandas/io/sas/sasreader.pyt   <module>   s   	