
x\c           @   sA  d  d l  m Z d  d l Z d  d l m Z m Z m Z m Z d  d l m Z d  d l	 m
 Z
 d  d l Z d  d l Z d  d l m Z d  d l Z d  d l m Z d  d l Z d  d l m Z m Z m Z m Z m Z m Z d  d l j j Z d  d l Z d  d	 l m Z m  Z  m! Z! m" Z" d  d
 l# m$ Z$ m% Z% d  d l& j j' Z( d  d l& m) Z) m* Z+ d  d l, m- Z- d  d l. m/ Z/ m0 Z0 m1 Z1 m2 Z2 m3 Z3 m4 Z4 m5 Z5 d  d l6 m7 Z7 d  d l8 m9 Z9 e( j:   Z; e( j<   Z= e e;  d  Z> e e; d d d d d g d  Z? e( j@   d  ZA e> jB   ZC d eC d <e jD d    ZE e jF d d  d eG f d     Y ZH d eH f d     YZI e jJ jK d  d! d" d# g  d$ eI f d%     Y ZL d& eH f d'     YZM e jJ jK d( eN eO g  e jJ jK d) e jP d* d" d+ e jJ jQ e jR d*  d, d- e jP d* d# d+ e jJ jQ e jR d*  d, d- e jP d. d! d+ e jJ jQ e jR d.  d, d/ e jP d0 d" d+ e jJ jQ e jR d0  d, d1 g  d2 eM f d3     Y  ZS e jF d*  e jJ jK d4 eT d" d* f g  d5 eM f d6     Y  ZU e jF d.  e jJ jK d4 eT d! d. f g  d7 eM f d8     Y  ZV e jF d0  e jJ jK d4 eT d" d0 f g  d9 eM f d:     Y  ZW d; eG f d<     YZX e jJ jK d= e jP d. d+ e jJ jY d, d>  d0 d* g  d?    ZZ e jF d*  e jJ jQ e d, d@ dA eG f dB     Y  Z[ d S(C   i(   t   OrderedDictN(   t   datet   datetimet   timet	   timedelta(   t   LooseVersion(   t   partial(   t   catch_warnings(   t   nan(   t   PY36t   BytesIOt	   iteritemst   mapt   ranget   u(   t	   DataFramet   Indext
   MultiIndext   Series(   t
   get_optiont
   set_option(   t   ensure_cleant   makeCustomDataframe(   t   URLError(   t	   ExcelFilet   ExcelWritert   _OpenpyxlWritert   _XlsxWritert   _XlwtWritert
   read_excelt   register_writer(   t   ExcelFormatter(   t   read_csvi
   t   columnst   Dt   Ct   Bt   Ai   t   bart   fooc           c   s8   t  j   & t  j d d d d d t  d VWd QXd S(   s   
    Context manager to ignore warnings raised by the xlrd library,
    regarding the deprecation of `time.clock` in Python 3.7.
    t   actiont   ignoret   messages   time.clock has been deprecatedt   categoryN(   t   warningsR   t   filterwarningst   DeprecationWarning(    (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   ignore_xlrd_time_clock_warning'   s    	t   xlrds   1.0.0t   SharedItemsc           B   s>   e  Z e j d  e  d    Z d   Z d   Z d   Z RS(   t   autousec         C   sR   | d d  |  _  t j   |  _ t j   |  _ t j   |  _ t j   |  _	 d  S(   Nt   iot   data(
   t   dirpatht   _framet   copyt   framet   _frame2t   frame2t   _tsframet   tsframet   _mixed_framet   mixed_frame(   t   selft   datapath(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   setup_method8   s
    c         C   s>   t  j j |  j | d  } t | d d d t d d } | S(   s  
        Obtain the reference data from read_csv with the Python engine.

        Parameters
        ----------

        basename : str
            File base name, excluding file extension.

        Returns
        -------

        dfref : DataFrame
        s   .csvt	   index_coli    t   parse_datest   enginet   python(   t   ost   patht   joinR5   R    t   True(   R?   t   basenamet   preft   dfref(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   get_csv_refdf@   s    c         C   s    t  t j j |  j | |   S(   s   
        Return test data ExcelFile instance.

        Parameters
        ----------

        basename : str
            File base name, excluding file extension.

        Returns
        -------

        excel : io.excel.ExcelFile
        (   R   RF   RG   RH   R5   (   R?   RJ   t   ext(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   get_excelfileS   s    c         O   s,   t  j j |  j | |  } t | | |  S(   s   
        Return test data DataFrame.

        Parameters
        ----------

        basename : str
            File base name, excluding file extension.

        Returns
        -------

        df : DataFrame
        (   RF   RG   RH   R5   R   (   R?   RJ   RN   t   argst   kwdst   pth(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   get_exceldfd   s    (	   t   __name__t
   __module__t   pytestt   fixtureRI   RA   RM   RO   RS   (    (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyR1   5   s   		t   ReadingTestsBasec           B   sJ  e  Z e j d  e d d di g  d    Z e j d d  d    Z	 e j d d  d    Z
 e j d d  d    Z e j j d d	 d
 d g d	 d d
 g d
 d	 d g d
 d d	 g d d	 d
 g d d
 d	 g g  d    Z e j j d d d g d d g g  d    Z d   Z d   Z d   Z d   Z d   Z e j j d di d g  d    Z d   Z d   Z d   Z d   Z d   Z e j d d  d    Z e j d d  d    Z d   Z d    Z d!   Z d"   Z  e j j d# di e! i d
 d d d$ g d% 6d& d' d( d) g d* 6d
 d d d$ g d+ 6d, d- e" j# d. g d/ 6 f i d0 d% 6d1 d* 6e$ d+ 6e$ d/ 6e! i e% d
 d d d$ g d2 d0 d% 6e% d& d' d( d) g d2 d1 d* 6d3 d4 d5 d6 g d+ 6d7 d8 e" j# d9 g d/ 6 f g  d:    Z& d;   Z' d<   Z( d=   Z) d>   Z* d?   Z+ e j d@  e j dA  e j j dB di e! e" j# g d$  f d	 e! i e" j# g d dC 6 f g  dD      Z, e j d@  e j dA  e j j dB di e! d	 g e" j# g d$  f d	 e! e" j# g d$  f g  dE      Z- e j dA  e j d@  dF     Z. dG   Z/ e j d d  dH    Z0 dI   Z1 dJ   Z2 dK   Z3 e4 j5 dL    Z6 e j7 dM    Z8 e j j9 e j j: dN  dO     Z; e j dP  dQ    Z< e j dR  dS    Z= dT   Z> e j d@  e j dA  dU     Z? dV   Z@ dW   ZA dX   ZB e j dY  dZ    ZC e j dY  e j j d[ e eD g  e j j d\ e eD g  e j j d] d
 d g  e j j d^ d
 d g  d_        ZE d`   ZF da   ZG db   ZH e j d@  e j dA  dc     ZI dd   ZJ de   ZK df   ZL dg   ZM dh   ZN RS(j   R2   t   paramsR0   c         c   sS   d } t  |  |  } t | d | j } t |  | |  d  Vt |  | |  d  S(   NRS   RD   (   t   getattrR   t   paramt   setattr(   R?   t   requestt	   func_namet   old_funct   new_func(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt
   set_enginez   s    s   1.0.1c         C   si  |  j  d  } | j d d d d g  } t j t d t 6 t   & |  j d | d d d	 d
 d } Wd  QXWd  QXt j t d t ? t   / |  j d | d d d g d d	 d
 d } Wd  QXWd  QXt j t d t ? t   / |  j d | d d d g d d	 d d } Wd  QXWd  QXt j | | d t t j | | d t t j | | d t d  S(   Nt   test1R!   R%   R$   R#   t   check_stacklevelt   Sheet1RB   i    t   usecolsi   t   Sheet2t   skiprowsi   t
   parse_colst   check_names(	   RM   t   reindext   tmt   assert_produces_warningt   FutureWarningt   FalseR/   RS   t   assert_frame_equal(   R?   RN   t   df_reft   df1t   df2t   df3(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_usecols_int   s(    





c         C   s#  |  j  d  } | j d d d g  } |  j d | d d d d d d	 d
 g } |  j d | d d d g d d d d d	 d
 g } t j t  H t   8 |  j d | d d d g d d d d d	 d
 g } Wd  QXWd  QXt j | | d t t j | | d t t j | | d t d  S(   NRb   R!   R$   R#   Rd   RB   i    Re   i   i   Rf   Rg   i   Rh   Ri   (	   RM   Rj   RS   Rk   Rl   Rm   R/   Ro   Rn   (   R?   RN   RL   Rq   Rr   Rs   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_usecols_list   s    
$c         C   s)  |  j  d  } | j d d d d g  } |  j d | d d d d	 d
 } |  j d | d d d g d d d	 d
 } t j t  ? t   / |  j d | d d d g d d d d
 } Wd  QXWd  QXt j | | d t t j | | d t t j | | d t | j d d d g  } |  j d | d d d d	 d } |  j d | d d d g d d d	 d } t j | | d t t j | | d t | j d d d g  } |  j d | d d d d	 d } |  j d | d d d g d d d	 d } t j | | d t t j | | d t d  S(   NRb   R!   R%   R$   R#   Rd   RB   i    Re   s   A:DRf   Rg   i   Rh   Ri   s   A,C,Ds   A,C:D(	   RM   Rj   RS   Rk   Rl   Rm   R/   Ro   Rn   (   R?   RN   RL   Rq   Rr   Rs   t   df4(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_usecols_str   s6    	
		Re   i    i   i   c         C   sT   |  j  d  d d g } |  j d | d d d d | } t j | | d t d  S(	   NRb   R%   R#   Rd   RB   i    Re   Ri   (   RM   RS   Rk   Ro   Rn   (   R?   RN   Re   t   expectedt   result(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt.   test_usecols_diff_positional_int_columns_order   s    R$   R"   c         C   sc   |  j  d  d d g } t t |   | _ |  j d | d d | } t j | | d t d  S(   NRb   R$   R"   Rd   Re   Ri   (   RM   R   t   lent   indexRS   Rk   Ro   Rn   (   R?   RN   Re   Rx   Ry   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt.   test_usecols_diff_positional_str_columns_order   s    c         C   sD   |  j  d  } |  j d | d d d } t j | | d t d  S(   NRb   Rd   RB   i    Ri   (   RM   RS   Rk   Ro   Rn   (   R?   RN   Rx   Ry   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_read_excel_without_slicing   s    c         C   sT   |  j  d  d d g } |  j d | d d d d d } t j | | d	 t d  S(
   NRb   R#   R"   Rd   RB   i    Re   s   A,D:ERi   (   RM   RS   Rk   Ro   Rn   (   R?   RN   Rx   Ry   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_usecols_excel_range_str   s    c      
   C   s?   d } t  j t d |  |  j d | d d d Wd  QXd  S(   Ns   Invalid column name: E1t   matchRb   Rd   Re   s   D:E1(   RV   t   raisest
   ValueErrorRS   (   R?   RN   t   msg(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt$   test_usecols_excel_range_str_invalid   s    c         C   sN   d } t  j t d | - |  j d | d d d g d d d g Wd  QXd  S(	   Ns(   list indices must be integers.*, not strR   Rb   Rd   RB   R%   Re   R#   (   RV   R   t	   TypeErrorRS   (   R?   RN   R   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_index_col_label_error  s    c         C   s   |  j  d | d d d d d g } t d d d	 d
 g d t d g  g d d g  g d d d d d g   } t j | |  d  S(   NRb   t   Sheet3RB   R%   R$   R#   R!   R"   t   Et   FR|   t   levelsi   t   codest   names(   RS   R   R   Rk   Ro   (   R?   RN   Ry   Rx   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_index_col_empty
  s    RB   i   c         C   s   |  j  d | d d | } t d d d g d d d	 g g d
 d d d g } | rm | j | j |  } n  t j | |  d  S(   NRb   t   Sheet4RB   t   i1t   at   xt   i2t   bt   yR!   s
   Unnamed: 0t   col1t   col2(   RS   R   t	   set_indexR!   Rk   Ro   (   R?   RN   RB   Ry   Rx   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_index_col_with_unnamed  s    	!c      	   C   sC   d d } t  j t d |  |  j d | d d g Wd  QXd  S(   Ns>   Usecols do not match columns, columns expected but not found: s   \['E'\]R   Rb   Re   R   (   RV   R   R   RS   (   R?   RN   R   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt%   test_usecols_pass_non_existent_column   s    c      
   C   sB   d } t  j t d | ! |  j d | d d d g Wd  QXd  S(   Ns[   'usecols' must either be list-like of all strings, all unicode, all integers or a callable.R   Rb   Re   t   E1i    (   RV   R   R   RS   (   R?   RN   R   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_usecols_wrong_type'  s    c         C   sJ   |  j  d | d  } t d d g g d d d g } t j | |  d  S(   Nt   test2Rd   t   aaaat   bbbbbR!   t   Testt   Test1(   RS   R   Rk   Ro   (   R?   RN   t   parsedRx   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_excel_stop_iterator.  s    !c         C   sG   |  j  d | d  } t t j g g d d g } t j | |  d  S(   Nt   test3Rd   R!   R   (   RS   R   t   npR   Rk   Ro   (   R?   RN   R   Rx   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_excel_cell_error_na4  s    c         C   s  |  j  d |  } t | d d t d d g } t d g d g d g t j g d g g d	 d
 g } t j | |  t | d d t d d g } t t j g d g t j g t j g d g g d	 d
 g } t j | |  |  j  d |  } t | d d t d d g } t d g d g d g t j g d g g d	 d
 g } t j | |  t | d d t d d g } t t j g d g t j g t j g d g g d	 d
 g } t j | |  d  S(   Nt   test4Rd   t   keep_default_nat	   na_valuest   applet   NAi   t   rabbitR!   R   t   test5s   1.#QNANR   (	   RO   R   Rn   R   R   R   Rk   Ro   RI   (   R?   RN   t   excelR   Rx   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_excel_passes_na:  s,    *0*0c      	   C   sh   |  j  d |  } t j t d t  t | d d Wd  QXt j t   t | d d Wd  QXd  S(   NRb   Rc   t	   sheetnameRd   t   sheet(	   RO   Rk   Rl   Rm   Rn   R   RV   R   R   (   R?   RN   R   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_deprecated_sheetnameY  s
    c   	      C   s  |  j  d |  } |  j d  } t | d d d } t | d d d g d d } t j | | d t t j | | d t | j d d d } | j d d d g d d } t j | | d t t j | | d t t | d d d d d } t j | | j d   t j t	 d	 t 0 t | d d d d
 d } t j | |  Wd  QX| j d d d d d } t j | | j d   d d  l
 } t j | j   t | d  Wd  QXd  S(   NRb   i    RB   i   Rg   Ri   t
   skipfooteriRc   t   skip_footert   asdf(   RO   RM   R   Rk   Ro   Rn   t   parset   ilocRl   Rm   R0   RV   R   t	   XLRDError(	   R?   RN   R   RL   Rq   Rr   Rs   Rv   R0   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_excel_table_sheet_by_indexd  s(    c         C   s   |  j  d  } |  j d | d d d } |  j d | d d d g d d } t j | | d t t j | | d t |  j d | d d d d	 d } t j | | j d
   d  S(   NRb   Rd   RB   i    Rf   Rg   i   Ri   R   i(   RM   RS   Rk   Ro   Rn   R   (   R?   RN   RL   Rq   Rr   Rs   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_excel_table  s    		c   
      C   sv  t  j t d d d d d d g f d d d	 d
 d d g f d t t t t t g f d d d d d d g f d d d d d d g f d t d d d  t d d d  t d d d  t d d d  t d d d  g f g   } d } |  j | | d   } t j | |  | j	   } | d j
 t  | d <d! | j | j d d f <|  j | | d  d" t } t j | |  xW t | j  D]F \ } } |  j | | d  d# | } | j |  } t j | |  qW| d j t  | d <|  j | | d  d$ i t d 6} t j | |  | j	   }	 |	 d j t  |	 d <|  j | | d  d" t d$ i t d 6} t j | |	  d  S(%   Nt   IntColi   i   ii   i    t   FloatColg      ?g      @gHzG?gQ?g&.>t   BoolColt   StrColi   i   t   Str2ColR   t   ct   dt   et   DateColi  i
   i   i   iq  i   i   i  t
   test_typesRd   g      @t   convert_floatRB   t
   converters(   R   t	   from_dictR    RI   Rn   R   RS   Rk   Ro   R7   t   astypet   floatt   locR|   t	   enumerateR!   R   t   applyt   str(
   R?   RN   Rx   RJ   t   actualt   float_expectedt   icolt   namet   expt   no_convert_float(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_reader_special_dtypes  s<    	!!c         C   s   d } t  j t d d d d d d g f d d	 t j d
 d d g f d d d d d d g f d d t j d d d g f g   } i d   d 6d   d 6d   d 6d   d 6} |  j | | d d | } t j | |  d  S(   Nt   test_convertersR   i   i   iii    R   g      )@gL2@g3333333@g:0y5>R   t   Founds	   Not foundR   t   1t   3t   4t   5c         S   s   |  d k r t  |   Sd S(   Nt    i(   t   int(   R   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   <lambda>  s    c         S   s   |  r d |  St  j S(   Ni
   (   R   R   (   R   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyR     s    c         S   s   |  d k r d Sd S(   NR   R   s	   Not found(    (   R   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyR     s    c         S   s   |  r t  |   Sd S(   NR   (   R   (   R   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyR     s    i   Rd   R   (   R   R   R    R   R   RS   Rk   Ro   (   R?   RN   RJ   Rx   R   R   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_reader_converters  s    	'

	c         C   sS  d } |  j  | |  } t i d d d d g d 6d d d	 d
 g d 6d d d d g d 6d d t j d g d 6 j d d d d d g  } t j | |  |  j  | | d i d d 6d d 6t d 6} | d j d  | d <| d j d  | d <d d d d g | d <t j | |  t	 j
 t  " |  j  | | d i d d 6Wd  QXd  S(   Nt	   testdtypei   i   i   i   R   g      @g      @g      @g      @R   R   g      ?g       @g      @R   R!   t   dtypet   float64t   float32t   001t   002t   003t   004t   int64(   RS   R   R   R   Rj   Rk   Ro   R   R   RV   R   R   (   R?   RN   RJ   R   Rx   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_reader_dtype  s&    
s   dtype,expectedi   R   g      @g      @g      @g      @R   R   g      ?g       @g      @R   R   R   R   R   R   R   R   R   t   2R   c         C   s2   d } |  j  | | d | } t j | |  d  S(   NR   R   (   RS   Rk   Ro   (   R?   RN   R   Rx   RJ   R   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_reader_dtype_str  s    c         C   se   d } |  j  | | d d  } d d d g } t j | | j    | t | j    k sa t  d  S(   Nt   test_multisheett
   sheet_namet   Charliet   Alphat   Beta(   RS   t   NoneRk   t   assert_contains_allt   keyst   listt   AssertionError(   R?   RN   RJ   t   dfst   expected_keys(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_reading_all_sheets  s
    c         C   s}   d } d d d g } |  j  | | d | } t t |   } t j | | j    t |  t | j    k sy t  d  S(   NR   i   R   R   (   RS   R   t   setRk   R   R   R{   R   (   R?   RN   RJ   R   R   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt%   test_reading_multiple_specific_sheets  s    c         C   sG   d } |  j  | | d d  } d d d g } t j | | j    d  S(   Nt   blank_with_headerR   Rd   Rf   R   (   RS   R   Rk   R   R   (   R?   RN   RJ   R   R   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt"   test_reading_all_sheets_with_blank&  s    c         C   s,   |  j  d | d  } t j | t    d  S(   Nt   blankRd   (   RS   Rk   Ro   R   (   R?   RN   R   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_read_excel_blank0  s    c         C   s>   t  d d d g  } |  j d | d  } t j | |  d  S(   NR!   t   col_1t   col_2R   Rd   (   R   RS   Rk   Ro   (   R?   RN   Rx   R   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt!   test_read_excel_blank_with_header4  s    t   xlwtt   openpyxls   header,expecteds
   Unnamed: 0c         C   s   d } t  j d d d g d d d g d d d g d d	 d
 g g  } t |  A } | j | | d t d t t | | d d g d | } Wd  QXt j | |  d  S(   Nt	   no_headerR   i   id   i   i   i   i,  i   i  R|   t   headerRe   i    (   t   pdR   R   t   to_excelRn   R   Rk   Ro   (   R?   RN   R  Rx   t   filenamet   dfRG   Ry   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt!   test_read_one_empty_col_no_header9  s    $c         C   s   d } t  j d d d g d d d g d d d g d d	 d
 g g  } t |  A } | j | d d t d t t | | d d g d | } Wd  QXt j | |  d  S(   Nt   with_headerR   i   id   i   i   i   i,  i   i  R|   R  Re   i    (	   R  R   R   R  Rn   RI   R   Rk   Ro   (   R?   RN   R  Rx   R  R  RG   Ry   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt#   test_read_one_empty_col_with_headerO  s    $c         C   s  t  j d d g d d g d d g g d d d	 g } t |   } t |  9 } | j | d
 d t d t | j | d d t Wd  QXd d g | _ t |  I } t | d
 d d  d d d g } t | d d d  d d d g } Wd  QXt
 j | |  t
 j | |  Wd  QXd  S(   Ni   R'   i   R&   i   t   bazR!   R   R   t   Data_no_headR  R|   t   Data_with_headR%   R$   R   RB   (   R  R   R   R   R  Rn   R!   R   R   R   Rk   Ro   (   R?   RN   t   refdfRR   t   writert   readert   xlsdf_no_headt   xlsdf_with_head(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt"   test_set_column_names_in_parameterd  s    c         C   sn   t  j t  j d  d g t  j d  d g d d g g d d d	 g } |  j d
 |  } t j | |  d  S(   Ns
   2016-03-12s   Marc Johnsons
   2016-03-16s
   Jack Blackg@xDs   Timothy BrownR!   t   DateColWithBigIntt	   StringColt   testdateoverflow(   R  R   t	   TimestampRS   Rk   Ro   (   R?   RN   Rx   Ry   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_date_conversion_overflow}  s    c   
      C   s=  d } d } |  j  |  } |  j | | d | d d } t j t d t 3 t   # |  j | | d d d | } Wd  QXWd  QX|  j | |  } | j d | d d  } t j t d t  | j d d d |  }	 Wd  QXt j	 | | d t t j	 | | d t t j	 | | d t t j	 |	 | d t d  S(	   NRb   Rd   R   RB   i    Rc   R   Ri   (
   RM   RS   Rk   Rl   Rm   Rn   R/   RO   R   Ro   (
   R?   RN   R  R   Rp   Rq   Rr   R   t	   df1_parset	   df2_parse(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_sheet_name_and_sheetname  s$    
c         C   s   t  j t d d ! |  j d | d d d d Wd  QX|  j d |  } t  j t d d  | j d d d d  Wd  QXd  S(   NR   s   Cannot specify bothRb   R   Rd   R   (   RV   R   R   RS   RO   R   (   R?   RN   R   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_sheet_name_both_raises  s    c      
   C   s   t  j j |  j d |  } t | d d d } t | d  , } t | d d d } t j | |  Wd  QXt | d  8 } t |  } t | d d d } t j | |  Wd  QXd  S(   NRb   Rd   RB   i    t   rb(	   RF   RG   RH   R5   R   t   openRk   Ro   R   (   R?   RN   RR   Rx   t   fR   t   xls(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_excel_read_buffer  s    c         C   s6   d } t  j t d d  t d d | Wd  QXd  S(   NR'   R   s   Unknown engine: fooR   RD   (   RV   R   R   R   (   R?   RN   t
   bad_engine(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_bad_engine_raises  s    c         C   s<   d | } t  |  } |  j d |  } t j | |  d  S(   NsJ   https://raw.github.com/pandas-dev/pandas/master/pandas/tests/io/data/test1Rb   (   R   RS   Rk   Ro   (   R?   RN   t   urlt	   url_tablet   local_table(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_read_from_http_url  s
    c      	   C   s   t  j j |  j d |  } t | d  * } | j d  j d d | d |  Wd  QXd | } t |  } |  j d |  } t	 j
 | |  d  S(   NRb   R  s   pandas-testt   Keyt   Bodys   s3://pandas-test/test1(   RF   RG   RH   R5   R  t   Buckett
   put_objectR   RS   Rk   Ro   (   R?   RN   t   s3_resourcet	   file_nameR  R$  R%  R&  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_read_from_s3_url  s    
s+   ignore:This metho:PendingDeprecationWarningc         C   s   t  j j |  j d |  } t |  } y t d |  } WnC t k
 r d d  l } t j d d j | j	    j
    n Xt j | |  d  S(   NRb   s   file://localhost/is   failing on %st    (   RF   RG   RH   R5   R   R   t   platformRV   t   skipt   unamet   stripRk   Ro   (   R?   RN   t
   localtableR&  R%  R0  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_read_from_file_url  s    	!t   pathlibc         C   s   d d l  m } t j j |  j d |  } t | d d d } | |  j d |  } t | d d d } t j | |  d  S(   Ni(   t   PathRb   Rd   RB   i    (	   R6  R7  RF   RG   RH   R5   R   Rk   Ro   (   R?   RN   R7  t   str_pathRx   t   path_objR   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_read_from_pathlib_path  s    s   py.pathc         C   s   d d l  m } t j j |  j d |  } t | d d d } t j j |  j  } | |  j d |  } t | d d d } t j	 | |  d  S(   Ni(   t   localRb   Rd   RB   i    (
   t   py.pathR;  RF   RG   RH   R5   R   t   abspathRk   Ro   (   R?   RN   t	   LocalPathR8  Rx   t   abs_dirR9  R   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_read_from_py_localpath  s    c      	   C   sf   t  j j |  j d |  } t | d  } t |   } t | d d d Wd  QX| j sb t  d  S(   NRb   R  Rd   RB   i    (	   RF   RG   RH   R5   R  R   R   t   closedR   (   R?   RN   RR   R  t   xlsx(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_reader_closes_file  s
    c         C   s   d   } d d d g } g  | D] } | |  ^ q } t  t | |   } t |   } t |  4 } x* t |  D] \ } }	 |	 j | |  qw WWd  QXt | d | d d }
 x& | D] } t j | | |
 |  q WWd  QXd  S(   Nc         S   s5   d d d g d d d g } } t  | | d |  g S(   Ni   i   i!   i   i   i   R!   (   R   (   t   col_sheet_nameR   t   i(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   tdf  s    t   AAAt   BBBt   CCCR   RB   i    (	   t   dictt   zipR   R   R   R  R   Rk   Ro   (   R?   RN   RF  t   sheetst   sR   RR   t   ewR   R  t   dfs_returned(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt)   test_creating_and_reading_multiple_sheets  s    	c         C   s$  t  j i t d d d  t d d d d  t d d d	 d
  t d d d d  t d d d d  t d d d d  t d d d d  t d d d d  t d d d d  t d d  d! d"  t d# d$ d%  g d& 6 } |  j d' | d(  } t j | |  |  j d) | d(  } t j | |  d  S(*   Ni   i   i   i-   i8   i i   i   i1   i@ i   i   i*   i i   i9   i#   i i	   i)   i   i  i   i   i   i'	 i   i`
 i5   i 5 i   i%   i    i i   i   i6   t   Timet
   times_1900Rd   t
   times_1904(   R   R   R   RS   Rk   Ro   (   R?   RN   Rx   R   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_reader_seconds*  s    c      	   C   s1  t  j d d g d d g g  } t j j |  j d |  } t d d t j d  t	 g d	 d
 t j d  t
 g d d t j d  t
 g d d t j d  t	 g g d | } t | d d d d g d d } t j | |  | | _ d d d d g | _ t | d d d d g } t j | | d t
 | | _ t | d d d d g d d d g } t j | | d t
 d d d d g | _ | j d d g  | _ t | d d d d g } t j | |  t t d   | _ | j d d  g  | _ t | d! d d d g d d } t j | |  | j d d	 g d" d j d d  g  | _ t | d# d d d d d g } t j | |  | j d d  g  | _ | j d d g  | _ t | d$ d d d g d d d g } t j | |  t | d% d d d g d d d g d& d	 } t j | |  d  S('   NR'   R&   R   R   t   testmultiindexi   g      @s
   2015-01-01i   g      @s
   2015-01-02i   g      @s
   2015-01-03i   g      @s
   2015-01-04R!   t	   mi_columnR  i    RB   R   R   t   mi_indexRi   t   botht   ilvl1t   ilvl2t   mi_index_namet   c1t   c2t   mi_column_namet   levelt   name_with_intt	   both_namet   both_name_skiprowsRg   (   R   t   from_productRF   RG   RH   R5   R   R  R  RI   Rn   R   Rk   Ro   R|   R!   t	   set_namesR   R   t
   set_levels(   R?   RN   t   mit   mi_fileRx   R   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_read_excel_multiindex?  sL    !	!		''c         C   s   t  j j |  j d |  } t | d d d d g } t j d d g  } t d d
 d d g g d
 d | } t j	 | |  d  S(   NRU  t   index_col_noneR  i    i   R%   R$   t   keyt   vali   i   i   R!   (   R%   R$   (   Rj  Rk  (
   RF   RG   RH   R5   R   R   Rc  R   Rk   Ro   (   R?   RN   Rg  Ry   t   exp_columnsRx   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt&   test_read_excel_multiindex_header_only  s
    %t
   xlsxwriterc      
   C   s  t  |  } t i i d d 6d 6i d d 6d 6i d d 6d 6i d d 6d 6 } t i i d d 6d 6i d d 6d 6i d d 6d 6i d d 6d 6 } | j |  t j | d d d g d d } t j | |  t j i i d d 6d 6i d d 6d 6i d d 6d 6i d d 6d 6 } t j i i d d 6d 6i d d 6d  6i d d 6d! 6i d d 6d" 6 } | j |  t j | d d d g d d } t j | |  Wd  QXd  S(#   Ni   i    t   OneR   i   t   Twot   Xi   t   Yt   ZeroR   s   Unnamed: 4_level_1R  RB   t   Begt   Middlet   Tails   Unnamed: 1_level_1(   Ro  R   (   Rp  Rq  (   Rp  Rr  (   Rs  R   (   Ro  R   (   Rp  Rq  (   Rp  Rr  (   Rs  s   Unnamed: 4_level_1(   Rt  R   (   Ru  R   (   Rv  Rq  (   Rv  Rr  (   Rt  s   Unnamed: 1_level_1(   Ru  R   (   Rv  Rq  (   Rv  Rr  (   R   R   R  R  R   Rk   Ro   (   R?   RN   RG   R  Rx   R   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt&   test_read_excel_multiindex_empty_level  s6    !		!t   c_idx_namest   r_idx_namest   c_idx_levelst   r_idx_levelsc   
      C   s  t  |  } | d k r1 | r1 t j d  n  | p@ | d k } t d d | | | |  } | j |  t j | d t t |   d t t |   }	 t	 j
 | |	 d | t j | j d d  d   f <| j |  t j | d t t |   d t t |   }	 t	 j
 | |	 d | t j | j d d  d   f <| j |  t j | d t t |   d t t |   }	 t	 j
 | |	 d | Wd  QXd  S(	   Ni   s?   Column index name cannot be serialized unless it's a MultiIndexi   RB   R  Ri   i    i(   R   RV   R1  t   mkdfR  R  R   R   R   Rk   Ro   R   R   R   (
   R?   RN   Rx  Ry  Rz  R{  RR   Ri   R  t   act(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_excel_multindex_roundtrip  s(    c   
      C   sQ  d | } t  j j |  j |  } t j d  d  d  d  d  g d d d d d g d d d	 d
 d g d d d d d g d d d d d g d d d d d g g  } d d d d d g } t d  d! d" d# d$ d% d& g d' d( d) d* d+ d, g g d- d. d/ d0 d1 d2 d3 g d. d/ d0 d1 d2 d3 g g d4 d  d  g  } t d! d" d# d$ d% d& g d5 d  } t	 j
 | d6 | d7 | } t	 j | d8 d9 d. }	 t j |	 |  | | _ t	 j | d: d9 d. d/ g }	 t j |	 |  t j d d d d d g d d d	 d
 d g d d d d d g d d d d d g d d d d d g g  } d d d d d g } t d  d" d# d$ d% d& g d( d) d* d+ d, g g d- d. d/ d0 d1 d2 g d. d/ d0 d1 d2 g g d4 d  d  g  } t d" d# d$ d% d& g d5 d  } t	 j
 | d6 | d7 | } t	 j | d; d9 d. }	 t j |	 |  | | _ t	 j | d< d9 d. d/ g }	 t j |	 | d= t d  S(>   Nt   test_index_name_pre17t   R0C0t   R0C1t   R0C2t   R0C3t   R0C4t   R1C0t   R1C1t   R1C2t   R1C3t   R1C4t   R2C0t   R2C1t   R2C2t   R2C3t   R2C4t   R3C0t   R3C1t   R3C2t   R3C3t   R3C4t   R4C0t   R4C1t   R4C2t   R4C3t   R4C4t   C_l0_g0t   C_l0_g1t   C_l0_g2t   C_l0_g3t   C_l0_g4R   t   R0t   R_l0_g0t   R_l0_g1t   R_l0_g2t   R_l0_g3t   R_l0_g4t   R1t   R_l1_g0t   R_l1_g1t   R_l1_g2t   R_l1_g3t   R_l1_g4R   i    i   i   i   i   i   R   R   R|   R!   t   single_namesRB   t   multi_namest   single_no_namest   multi_no_namesRi   (   RF   RG   RH   R5   R   t   arrayR   R   R   R  R   R   Rk   Ro   R|   Rn   (
   R?   RN   R  t   in_fileR4   R!   Rf  t   siRx   R   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_excel_old_index_format  sV    
	0			*	c      
   C   sZ   xS t  t g D]E } t j t  . t j t j j	 |  j
 d |  d | Wd  QXq Wd  S(   NRb   R  (   RI   Rn   RV   R   R   R  R   RF   RG   RH   R5   (   R?   RN   t   arg(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_read_excel_bool_header_arg  s    "c      	   C   sC   t  j t  . t j t j j |  j d |  d d Wd  QXd  S(   NRb   t	   chunksizeid   (	   RV   R   t   NotImplementedErrorR  R   RF   RG   RH   R5   (   R?   RN   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_read_excel_chunksize  s    "c         C   s  t  i d d d g d 6t j d d d d 6 } | j   } | d j j d  | d <t |   } | j |  t | d	 d
 } t	 j
 | |  t | d d g d	 d
 } t	 j
 | |  d   } t | d d g d | d	 d
 } t	 j
 | |  Wd  QXd  S(   Ni   i   i   t   cols
   2012-01-01t   periodst   date_stringss   %m/%d/%YRB   i    RC   c         S   s   t  j j |  d  S(   Ns   %m/%d/%Y(   R  R   t   strptime(   R   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyR   5  s    t   date_parser(   R   R  t
   date_rangeR7   t   dtt   strftimeR   R  R   Rk   Ro   (   R?   RN   R  Rr   RR   t   resR  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_read_excel_parse_dates"  s    	c         C   s  t  j t j j |  j d |  d d d d g } t d d t  j d  t g d d	 t  j d
  t	 g d d t  j d  t	 g d d t  j d  t g g d d d d d g } t
 j | |  t  j t j j |  j d |  d d t j d d g  } t
 j | |  d  S(   Nt   testskiprowst   skiprows_listRg   i    i   i   g      @s
   2015-01-01g      @s
   2015-01-02i   g      @s
   2015-01-03i   g      @s
   2015-01-04R!   R   R   R   R   (   R  R   RF   RG   RH   R5   R   R  RI   Rn   Rk   Ro   R   R  (   R?   RN   R   Rx   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_read_excel_skiprows_list:  s    

c         C   st   d } t  j t j j |  j d |  d | } t  j t j j |  j d |   } | |  } t j | |  d  S(   Ni   Rb   t   nrows(   R  R   RF   RG   RH   R5   Rk   Ro   (   R?   RN   t   num_rows_to_pullR   Rx   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_read_excel_nrowsK  s    "	
c         C   sz   t  j t j j |  j d |   } t |  } | d } t  j t j j |  j d |  d | } t j | |  d  S(   NRb   i
   R  (	   R  R   RF   RG   RH   R5   R{   Rk   Ro   (   R?   RN   Rx   t   num_records_in_fileR  R   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt0   test_read_excel_nrows_greater_than_nrows_in_fileU  s    
"	c      	   C   sO   d } t  j t d | . t j t j j |  j d |  d d Wd  QXd  S(   Ns   'nrows' must be an integer >=0R   Rb   R  R   (	   RV   R   R   R  R   RF   RG   RH   R5   (   R?   RN   R   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt+   test_read_excel_nrows_non_integer_parameter_  s    "c         C   s!  t  j j |  j d |  } t j | d d d d t } t j d d d g d d	 d
 g d d } d | j _	 t
 j | |  t j | d d t } t j i d d	 d
 g d 6d d d g d 6 } t
 j | |  t j | d d t } t j d d d g d d } t
 j | |  d  S(   Nt   test_squeezet   two_columnsRB   i    t   squeezei   i   i   i   i   R   R   R   t
   one_columni   (   RF   RG   RH   R5   R  R   RI   R   R|   R   Rk   t   assert_series_equalR   Ro   (   R?   RN   R  R   Rx   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_read_excel_squeezef  s    *N(O   RT   RU   RV   RW   RI   R   Ra   t   tdt
   skip_if_noRt   Ru   Rw   t   markt   parametrizeRz   R}   R~   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R  R
  R  R  R  R  R!  R#  Rk   t   networkR'  t   skip_if_not_us_localeR.  t   slowR-   R5  R:  R@  RC  RP  RT  Rh  Rm  Rw  Rn   R~  R  R  R  R  R  R  R  R  R  (    (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyRX   w   s   '	 &*$						
$							-		
.
			
		8 1	
	
				
		@	(0"	=				
	
	RN   s   .xlss   .xlsxs   .xlsmt   TestXlrdReaderc           B   s&   e  Z d  Z e j d  d    Z RS(   st   
    This is the base class for the xlrd tests, and 3 different file formats
    are supported: xls, xlsx, xlsm
    R   c   
      C   s   d d  l  } |  j } d } d } t |   } | j | |  | j |  } t | d | , } t | | d d }	 t j | |	  Wd  QXt | d | d | d d }	 t j | |	  Wd  QXd  S(   NiR0   t   SheetARD   RB   i    R   (	   R0   R8   R   R  t   open_workbookR   R   Rk   Ro   (
   R?   RN   R0   R  RD   R   RR   t   bookt   xlRy   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_read_xlrd_book  s    	(   RT   RU   t   __doc__R  R  R  (    (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyR  y  s   t   _WriterBasec           B   s#   e  Z e j d  e  d    Z RS(   R2   c         c   sh   d j  d | j d   } t |  } t | |  t |   } | |  _ d VWd QXt | |  d S(   s  Fixture to set engine and open file for use in each test case

        Rather than requiring `engine=...` to be provided explicitly as an
        argument in each test, this fixture sets a global option to dictate
        which engine should be used to write Excel files. After executing
        the test it rolls back said change to the global option.

        It also uses a context manager to open a temporary excel file for
        the function to write to, accessible via `self.path`

        Notes
        -----
        This fixture will run as part of each test method defined in the
        class and any subclasses, on account of the `autouse=True`
        argument
        s   io.excel.{ext}.writerRN   t   .N(   t   formatR3  R   R   R   RG   (   R?   R]   t   merge_cellsRD   RN   t   option_namet   prev_engineRG   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   set_engine_and_path  s    	(   RT   RU   RV   RW   RI   R  (    (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyR    s   R  s
   engine,extR  t   markst   reasons   No openpyxlR   s   No xlwtRn  s   No xlsxwritert   TestExcelWriterc           B   sW  e  Z d    Z d   Z d   Z d   Z d   Z d   Z e j	 j
 d e j e j e j e j g  d    Z e j	 j
 d e j e j e j g  d    Z e j	 j
 d e j e j g  d	    Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z  d   Z! d   Z" d   Z# d   Z$ d   Z% d   Z& d   Z' d   Z( d   Z) d   Z* e j	 j
 d e+ e, g  e j	 j
 d d d  d! g  e j	 j
 d" d d  d! g  d#      Z- d$   Z. d%   Z/ d&   Z0 d'   Z1 d(   Z2 d)   Z3 d*   Z4 d+   Z5 d,   Z6 d-   Z7 d.   Z8 d/   Z9 d0   Z: d1   Z; RS(2   c         G   s   d d  l  } t t j j d d   } | j |  j  t |  j  } t | d d d } t	 j
 | |  t j | j   t | d  Wd  QXd  S(   Nii
   i   i    RB   t   0(   R0   R   R   t   randomt   randnR  RG   R   R   Rk   Ro   RV   R   R   (   R?   t   _R0   t   gtR  R  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_excel_sheet_by_name_raise  s    c      
   G   s   t  |  j  - } |  j j | d  |  j j | d  Wd  QXt |  j  W } t | d d d } t | d d d } t j | |  j  t j | |  j  Wd  QXd  S(   Nt   Data1t   Data2RB   i    (	   R   RG   R8   R  R:   R   R   Rk   Ro   (   R?   R  R  R  t   found_dft	   found_df2(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt!   test_excel_writer_context_manager  s    c         C   s  t  |  j d d *|  j j |  j d  |  j j |  j d d d d g |  j j |  j d d t |  j j |  j d d t |  j j |  j d  t |  j d d d	 } t j |  j |  |  j j |  j d d t t |  j d d d  } |  j j	 | _	 t j |  j |  |  j j |  j d d
 d t |  j d d d	 d d g } t j |  j |  |  j j |  j d d
 d t |  j d d d	 d d g } t j |  j |  |  j j |  j d d
 d t |  j d d d	 d d d g } t j |  j |  |  j j |  j d  t |  j d d	 } t j |  j |  |  j j |  j d  t |  j d d	 } t j |  j |  |  j d } | j |  j  t |  j d d	 } t j | j
   |  d  S(   NR%   i   Rb   R!   R$   R  R|   RB   i    t   na_repR   R   t   88iX   g      V@Rd   R  (   R   R8   R  RG   Rn   R   Rk   Ro   R   R|   t   to_frame(   R?   R  RD   RN   t   reconsRM  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_roundtrip  s@    "!!c         C   sQ   |  j  j |  j d  t |  j  } t | d d d } t j |  j  |  d  S(   NRb   RB   i    (   R>   R  RG   R   R   Rk   Ro   (   R?   R  RD   RN   R  R  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt
   test_mixed	  s    c         G   s[   t  j   d  } | j |  j d  t |  j  } t | d d d } t  j | |  d  S(   Ni   Rb   RB   i    (   Rk   t   makeTimeDataFrameR  RG   R   R   Ro   (   R?   R  R  R  R  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_ts_frame  s
    c         C   s   t  |  j d d *|  j j |  j d  |  j j |  j d d d d g |  j j |  j d d t |  j j |  j d d t d  S(   NR%   i   Rb   R!   R$   R  R|   (   R   R8   R  RG   Rn   (   R?   R  RD   RN   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_basics_with_nan  s
    "t   np_typec         C   s   t  t j j d d d d d | } | j |  j d  t |  j  } t | d d d } | j t j	  } t
 j | |  t |  j d d d }	 t
 j | |	  | j t  }
 t |  j d d	 t d d } t
 j | |
 d
 t d t d  S(   Nii
   t   sizei   R   Rb   RB   i    R   t   check_index_typet   check_column_type(   i
   i   (   R   R   R  t   randintR  RG   R   R   R   R   Rk   Ro   R   Rn   (   R?   R  RD   RN   R  R8   R  R  t	   int_framet   recons2t   float_frame(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_int_types  s    	c         C   sx   t  t j j d  d | } | j |  j d  t |  j  } t | d d d j |  } t	 j
 | | d t d  S(   Ni
   R   Rb   RB   i    t   check_dtype(   R   R   R  t   random_sampleR  RG   R   R   R   Rk   Ro   Rn   (   R?   R  RD   RN   R  R8   R  R  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_float_types9  s
    c         C   sr   t  d d t t g d | } | j |  j d  t |  j  } t | d d d j |  } t j	 | |  d  S(   Ni   i    R   Rb   RB   (
   R   RI   Rn   R  RG   R   R   R   Rk   Ro   (   R?   R  RD   RN   R  R8   R  R  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_bool_typesE  s
    c         G   ss   t  d t j f d d t j f g  } | j |  j d  t |  j  } t | d d d } t j | |  d  S(	   Ni   i   i   i   Rb   RB   i    (   i   i   (	   R   R   t   infR  RG   R   R   Rk   Ro   (   R?   R  R8   R  R  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_inf_roundtripP  s
    (c         C   sp  t  |  j d d *|  j j |  j d  |  j j |  j d d d d g |  j j |  j d d t |  j j |  j d d t t |  j  } |  j j | d  |  j j | d  | j   t |  j  } t	 | d d	 d
 } t
 j |  j |  t	 | d d	 d
 } t
 j |  j |  d t | j  k s:t  d | j d
 k sSt  d | j d k slt  d  S(   NR%   i   Rb   R!   R$   R  R|   R   RB   i    i   i   (   R   R8   R  RG   Rn   R   R<   t   saveR   R   Rk   Ro   R{   t   sheet_namesR   (   R?   R  RD   RN   R  R  R  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_sheetsY  s"    "
c         C   s  t  |  j d d *|  j j |  j d  |  j j |  j d d d d g |  j j |  j d d t |  j j |  j d d t t d d	 d
 d g  } |  j j |  j d d | t |  j  } t | d d d } |  j j	   } | | _
 t j | |  d  S(   NR%   i   Rb   R!   R$   R  R|   t   AARq  Rr  t   ZRB   i    (   R   R8   R  RG   Rn   R   R:   R   R   R7   R!   Rk   Ro   (   R?   R  RD   RN   t   col_aliasesR  t   rst   xp(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_colaliaseso  s    "	c      	   C   s  t  |  j d d *|  j j |  j d  |  j j |  j d d d d g |  j j |  j d d t |  j j |  j d d t t t j j d d	   d
 k } | j |  j d d d g d | t	 |  j  } t
 | d d d
 j t j  } d g | j _ | j j | j j k s!t  t t j j d d	   d
 k } | j |  j d d d d d g d | t	 |  j  } t
 | d d d
 j t j  } d g | j _ | j j | j j k st  t t j j d d	   d
 k } | j |  j d d d d | t	 |  j  } t
 | d d d
 j t j  } d g | j _ t j | | j t   |  j j |  j d d d d d d g d t d | |  j j   } | j d d g  } t	 |  j  } t
 | d d d
 d g } t j | | d t d  S(   NR%   i   Rb   R!   R$   R  R|   i
   i   i    t   index_labelt   testR  RB   t   dummyt   dummy2R#   R"   i   t   check_less_precise(   R   R8   R  RG   Rn   R   R   R  R  R   R   R   R   R|   R   R   Rk   Ro   t   boolR7   R   RI   (   R?   R  RD   RN   R8   R  R  R  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_roundtrip_indexlabels  s\    "!		!	!	c         C   s   t  t j j d d   } d | j _ | j |  j d | t |  j  } t	 | | j
 d d d } t j | |  | j j d k s t  d  S(   Ni
   i   R'   R  i    RB   (   R   R   R  R  R|   R   R  RG   R   R   R  Rk   Ro   R   (   R?   R  RD   RN   R  t   xfRy   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_excel_roundtrip_indexname  s    	c         G   s   |  j  j   } g  |  j  j D] } | j   ^ q | _ | j |  j d d | t |  j  } t | d d d } t j	 |  j  |  d  S(   NRb   R  RB   i    (
   R<   R7   R|   R   R  RG   R   R   Rk   Ro   (   R?   R  R  t   tsfR   R  R  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_excel_roundtrip_datetime  s    (c      
   C   s  t  t d d d  t d d d  g t d d d	 d
 d d  t d d d d d d  g g d d d g d d d g } t  t d d d  t d d d  g t d d d	 d
 d d  t d d d d d d  g g d d d g d d d g } t |   } t |  j  } t | d d d d } | j | d  | j | d  | j   | j   t |  j  }	 t |  }
 t	 |	 d d d } t	 |
 d d d } t
 j | |  t
 j | |  Wd  QXd  S(   Ni  i   i   i  i	   i   i  i   i   i   i!   i   i   i   i   R|   t   DATEt   DATETIMER!   Rq  Rr  t   date_formats
   DD.MM.YYYYt   datetime_formats   DD.MM.YYYY HH-MM-SSRb   RB   i    (   R   R   R   R   R   RG   R  t   closeR   R   Rk   Ro   (   R?   R  RD   RN   R  t   df_expectedt	   filename2t   writer1t   writer2t   reader1t   reader2t   rs1t   rs2(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_excel_date_datetime_format  s2    !!		

c         G   s   t  t j j d d d d d t j } | j   } t j | d d  | d <t j | d d  j t	  | d <| j
 |  j d	  t |  j  } t | d	 d
 d } t j | |  d  S(   Nii
   R  i   i   R   i    t   newRb   RB   (   i   i   (   R   R   R  R   R   R7   R  t   cutR   R   R  RG   R   R   Rk   Ro   (   R?   R  R8   Rx   R  R  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt    test_to_excel_interval_no_labels  s    #c         G   s   t  t j j d d d d d t j } | j   } t j | d d d d	 d
 d d d d d d d d g
 } | | d <t j t	 |   | d <| j
 |  j d  t |  j  } t | d d d } t j | |  d  S(   Nii
   R  i   i   R   i    t   labelsR%   R$   R#   R"   R   R   t   Gt   Ht   It   JR-  Rb   RB   (   i   i   (   R   R   R  R   R   R7   R  R.  R   R   R  RG   R   R   Rk   Ro   (   R?   R  R8   Rx   t	   intervalsR  R  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_to_excel_interval_labels	  s    "
c         G   s   t  t j j d d d d d d g d t j } | j   } | d j d	    | d
 <| d j d    | d
 <| j |  j d  t	 |  j  } t
 | d d d } t j | |  d  S(   Nii
   R  i   i   R!   R%   R   c         S   s   t  d |   S(   Nt   seconds(   R   (   R   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyR   #  s    R-  c         S   s   t  d |   j   t d  S(   NR7  iQ (   R   t   total_secondsR   (   R   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyR   %  s    Rb   RB   i    (   i   i   (   R   R   R  R   R   R7   R   R  RG   R   R   Rk   Ro   (   R?   R  R8   Rx   R  R  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_to_excel_timedelta  s    
c         C   sx   |  j  } | j d d d j   } | j |  j d  t |  j  } t | d d d } t j | | j	 d   d  S(   Nt   Mt   kindt   periodt   sht1RB   i    (
   R<   t   resamplet   meanR  RG   R   R   Rk   Ro   t	   to_period(   R?   R  RD   RN   R8   R  R  R  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_to_excel_periodindex-  s    	c   	      C   s   |  j  } t j t | j  d  j d d  } t j | d d d g } | | _ | j |  j	 d d t
 | j |  j	 d d d	 d
 g | j |  j	 d d | t |  j	  } t | d d d d g } t j | |  d  S(   Ni   iR   t   firstt   secondRb   R  R!   R%   R$   R  RB   i    i   (   R8   R   t   arangeR{   R|   t   reshapeR   t   from_arraysR  RG   Rn   R   R   Rk   Ro   (	   R?   R  RD   RN   R8   t   arrayst	   new_indexR  R  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_to_excel_multiindex7  s    	(	c         C   s   t  j i d  d d g d 6d d d g d 6t j j d  d 6 } | j d d g  } | j |  j d	 | t	 |  j d
 d d g } t
 j | |  d  S(   Ni   i   R%   i
   i   i   R$   R#   R  RB   i    i   (   R  R   R   R   R  t   sampleR   R  RG   R   Rk   Ro   (   R?   R  RD   RN   R8   R  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt"   test_to_excel_multiindex_nan_labelH  s    c         C   sO  |  j  } t j t | j  d  j d d  } t j | d d d g } | | _ t j d d d d g  } | | _	 d	 d g } | s d	 } n  | j
 |  j d
 d | t |  j  }	 t |	 d
 d | d d	 d g }
 | s;| j	 j d t d t d t  } g  t |   D] } d j t t |   ^ q| _	 n  t j | |
  d  S(   Ni   iR   RB  RC  i(   i   i2   i    Rb   R  R  RB   t   sparsifyt   adjoinR  (   i(   i   (   i(   i   (   i2   i   (   i2   i   (   R8   R   RD  R{   R|   RE  R   RF  t   from_tuplesR!   R  RG   R   R   R  Rn   RK  RH   R   R   Rk   Ro   (   R?   R  RD   RN   R8   RG  RH  t   new_cols_indexR  R  R  t   fmt   q(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_to_excel_multiindex_colsU  s(    	(			7c         C   s   |  j  j   } | j t j t | j   g } t j |  | _ d d g | j _ | j	 |  j
 d d | t |  j
  } t | d d d d g } t j | |  | j j d k s t  d  S(	   NR   R'   Rb   R  RB   i    i   (   R   R'   (   R<   R7   R|   R   RD  R{   R   RF  R   R  RG   R   R   Rk   Ro   R   (   R?   R  RD   RN   R<   RH  R  R  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_to_excel_multiindex_datesn  s    !c   	      C   s   t  i d d g d 6d d g d 6d d g d	 6 } | j   } t j d d g  } | | _ | j |  j d d t t |  j  } t	 | d  } t
 j | |  d  S(   Ni
   i   R   i   i(   R   i2   i<   R   iF   iP   iZ   id   Rb   R|   (   iF   iP   (   iZ   id   (   R   R7   R   RN  R|   R  RG   Rn   R   R   Rk   Ro   (	   R?   R  RD   RN   t   frame1R:   t   multi_indexR  t   frame3(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt'   test_to_excel_multiindex_no_write_index}  s    3	c         G   s   t  d d d g d d d g g d d d	 g d
 d d d g } | j |  j d d d t |  j  } t | d d d } t  d d d g d d d g g d d d	 g d
 d d d g } t j | |  d  S(   Ng~Ϛ?g9DܜJ?g>D)?g.4i(@g33333@g̤AR|   R%   R$   R!   Rq  Rr  R  Rb   t   float_formats   %.2fRB   i    gQ?gq=
ףp?g=
ףp=?gp=
ף(@(   R   R  RG   R   R   Rk   Ro   (   R?   R  R  R  Ry   Rx   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_to_excel_float_format  s    c         C   s   t  d d d g d d d g g d d d	 g d
 d d d g } t d |  K } | j | d d d d t | d d d d d } t j | |  Wd  QXd  S(   Nu   ƒu   Ɠu   Ɣu   ƕu   Ɩu   ƗR|   u   Aƒu   BR!   u   XƓu   Yu   Zs   __tmp_to_excel_float_format__.R   t	   TestSheett   encodingt   utf8RB   i    (   R   R   R  R   Rk   Ro   (   R?   R  RD   RN   R  R  Ry   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_to_excel_output_encoding  s    c   
      C   s&  t  t d  |  
} y t | d  } Wn t k
 rL t j d  n X| j   t d d d g d d d	 g g d
 d d g d d d d g } | j | d d d t	 |  } t
 | d d d } t d d d g d d d	 g g d
 d d g d d d d g }	 t j | |	  Wd  QXd  S(   Ns   \u0192u.t   wbs$   No unicode file names on this systemg~Ϛ?g9DܜJ?g>D)?g.4i(@g33333@g̤AR|   R%   R$   R!   Rq  Rr  R  Rb   RX  s   %.2fRB   i    gQ?gq=
ףp?g=
ףp=?gp=
ף(@(   R   R   R  t   UnicodeEncodeErrorRV   R1  R#  R   R  R   R   Rk   Ro   (
   R?   R  RD   RN   R  R  R  R  Ry   Rx   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_to_excel_unicode_filename  s     
t   use_headerst   r_idx_nlevelsi   i   i   t   c_idx_nlevelsc      	      s  t  d t     f d  } | r' d n d  } | t d g  | |  }	 |	 j d k s] t  |	 j d t j k	 sy t  d }
 d } d d l m	 } | |
 | d	 | d
 | } | d k r t
 j t   | | | d t Wd  QXn | | |  }	 | r|	 j |
 | | f k sBt  n# |	 j |
 d | | f k sBt  x_ t t |	 j   D]H } x? t t |	 j   D]( } |	 j | | f t j k	 stt  qtWqXWd  S(   Ni    c            sK   |  j   j d | d   d | t  j  } t | | j d d | S(   NR  R  R|   i    (   R  RG   R   R   R  (   R4   R  t
   parser_hdrR|   R  (   R  R?   (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt	   roundtrip.  s    i   i   i   i   i(   R   Rb  Rc  R|   (   i   i   (   i    i    (   RI   R   R   t   shapeR   R   R   R   t   pandas.util.testingR   RV   R   R  Rn   R   R{   R|   R!   (   R?   R  RD   RN   Rc  Rb  Ra  Re  t   parser_headerR  R  t   ncolsR|  R  t   rR   (    (   R  R?   s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_excel_010_hemstring(  s(    	"#c         G   sM  t  d d d g d d d g d d d g g d d d d g } | j |  j d  t  d d d g d d d g d d d g g d d d d g } t |  j d d	 d
 } t j | |  t |  j d d	 d
 d t } t j | |  t  d d d d g d d d d g g d d d d d g } | j |  j d  t |  j d d	 d
 } t  d d d d g d d d d g g d d d d d g } t j | |  | j |  j d d t d t t |  j d d d  } t  d d d d g d d d d g g  } t j | |  d } t	 j
 t d | ! t |  j d d d  d t Wd  QXd  S(   Ni   i   i   R!   R%   R$   Rb   s   B.1RB   i    t   mangle_dupe_colsi   i   i   i   i   s   A.1R|   R  s3   Setting mangle_dupe_cols=False is not supported yetR   (   R   R  RG   R   Rk   Ro   RI   Rn   R   RV   R   R   (   R?   R  R  Rx   Ry   R   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_duplicated_columnsZ  s0    --	''*c         C   s   t  i d d d g d 6d d d g d 6 } | j |  j d d d d g t |  j d d d } t j | d | d  t j | d | d  d  S(	   Ni   R%   i   R$   Rb   R!   R  i    (   R   R  RG   R   Rk   R  (   R?   R  RD   RN   t   write_framet
   read_frame(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_swapped_columns  s    c         G   s   t  i d d d g d 6d d d g d 6 } t j t d t $ | j |  j d d d d g Wd  QX| j d d d g  } t |  j d d	 d
 } t j	 | |  t
 j t  $ | j |  j d d d d g Wd  QXd  S(   Ni   R%   i   R$   Rc   Rb   R!   R#   RB   i    R"   (   R   Rk   Rl   Rm   Rn   R  RG   Rj   R   Ro   RV   R   t   KeyError(   R?   R  Rn  Rx   Ro  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_invalid_columns  s    
%c         G   s   t  i d d d g d 6d d d g d 6 } | j |  j d  t |  j d d d	 } d  | j d <d  | j d <d  | j d <t |  j d d d d d	 } t j | |  d  S(   Nt   ones   #oneR%   t   twos   #twoR$   t   test_cRB   i    i   i   t   commentt   #(   i   i    (   i   i   (   i   i   (   R   R  RG   R   R   R   Rk   Ro   (   R?   R  R  t   result1t   result2(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_comment_arg  s    c         C   s}   t  i d d d g d 6d d d g d 6 } | j |  j d  t |  j d  } t |  j d d d  } t j | |  d  S(	   NRs  s   #oneR%   Rt  s   #twoR$   Ru  Rv  (   R   R  RG   R   R   Rk   Ro   (   R?   R  RD   RN   R  Rx  Ry  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_comment_default  s    c         G   s   t  i d d d g d 6d d d g d 6 } | j |  j d  t  i d d  d g d 6d d  d  g d 6 } t |  j d d d	 d
 d } t j | |  d  S(   NRs  s   #oneR%   Rt  s   #twoR$   Ru  Rv  Rw  RB   i    (   R   R  RG   R   R   Rk   Ro   (   R?   R  R  Rx   Ry   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_comment_used  s    c         C   s   t  i d d g d 6d d g d 6 } | j |  j d t t  i d g d 6d	 g d 6 } t |  j d
 d } t j | |  d  S(   NR   s   #2R   R   R   R   R|   i   i   Rv  Rw  (   R   R  RG   Rn   R   Rk   Ro   (   R?   R  RD   RN   R  Rx   Ry   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_comment_empty_line  s
    & c         C   sh  t  d d d d d d  t  d d d d d d  t  d d d d d	 d
  t  d d d d d d  t  d d d d d d  t  d d d d d d  t  d d d d d d  t  d d d d d d  t  d d d d d d  t  d d d d d d  t  d d d d d d  g } t i | d 6 } | j |  j d  t |  j d d  d } t j | d | d  d  S(!   Ni  i   i   i   i   i-   i8   i   i   i1   i   i*   i   i9   i#   i	   i)   i   i   i   i   i   i5   i   i%   i    i   i   i4   R%   Rd   R  (   R   R   R  RG   R   Rk   R  (   R?   R  RD   RN   t	   datetimesRn  Ro  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_datetimes  s    c         C   s   t    } t t j j d d   } t | d | } | j |  | j   | j d  t	 | d d } t
 j | |  d  S(   Ni
   i   RD   i    RB   (   R
   R   R   R  R  R   R  R  t   seekR   Rk   Ro   (   R?   R  RD   RN   t   bioR  R  t	   reread_df(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_bytes_io  s    	
c         G   s   t  i d d d g i d d 6d d 6g d 6d	 d d
 g d 6d d d g d 6 } | j |  j d  t |  j d d d d d } | j   } | j j t  | _ | j j	 d  | _ t
 j | |  d  S(   NR   R   R   R   R   i   R  t   mixedi   g      @t   numericR   t   bananat   cherryR   Rd   R  i    RB   R   (   R   R  RG   R   R7   R  R   R   R  R   Rk   Ro   (   R?   R  R  t   readRx   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_write_lists_dict  s    *c         G   s   t  j d d g g d d d g } | j i t d 6t d 6 } | j |  j  t |  j d d g d d g d d	 } t j	 | |  d  S(
   NR'   R&   R!   R   R   t   true_valuest   false_valuesRB   i    (
   R  R   t   replaceRI   Rn   R  RG   R   Rk   Ro   (   R?   R  R  Rx   Ro  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt!   test_true_and_false_value_options
  s    $c         G   sl   t  d d g d d g g d d d g } | j |  j d d	 d t |  j d
 d } t j | |  d  S(   Ni   i   i   i   R!   R   R   Rd   t   freeze_panesRB   i    (   i   i   (   R   R  RG   R   Rk   Ro   (   R?   R  Rx   Ry   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_freeze_panes  s    *c         C   sn   t  j   } t | j d | } t t j d d } t  j | | d d j d |  } t  j | |  d  S(   NRD   RB   i    RG   s	   foo.{ext}RN   (	   Rk   t   makeDataFrameR   R  R  R   t   round_trip_pathlibR  Ro   (   R?   R  RD   RN   R  R  R  Ry   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_path_path_lib  s    c         C   sn   t  j   } t | j d | } t t j d d } t  j | | d d j d |  } t  j | |  d  S(   NRD   RB   i    RG   s	   foo.{ext}RN   (	   Rk   R  R   R  R  R   R  R  Ro   (   R?   R  RD   RN   R  R  R  Ry   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_path_local_path%  s    (<   RT   RU   R  R  R  R  R  R  RV   R  R  R   t   int8t   int16t   int32R   R  t   float16R   R   R  t   bool8t   bool_R  R
  R  R  R  R  R  R,  R/  R6  R9  RA  RI  RK  RR  RS  RW  RY  R]  R`  RI   Rn   Rk  Rm  Rp  Rr  Rz  R{  R|  R}  R  R  R  R  R  R  R  (    (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyR    s^   			/				*$*					8			'				
								z-0	&										
			s   merge_cells,ext,enginet   TestOpenpyxlTestsc           B   sV   e  Z d    Z d   Z e j j d d d g f d d d d g f g  d    Z RS(	   c      	   C   s	  d d l  m } i i d d 6t d 6d 6i d d 6d d	 6d d
 6d d 6d 6i d d 6d d 6d 6i d d 6i d d 6d d 6d 6d 6i d d 6d 6i t d 6t d 6d 6} | j d  } | j d t d |  } | j d | j j  } | j	 d | d	 | d
 | d |  }	 | j
 d d d d  }
 | j d d d d  } | j d d d |  } d } | j d t d t  } t j |  } | d | k st  | d  |	 k st  | d |
 k st  | d | k st  | d | k st  | d | k st  d  S(!   Ni(   t   stylest   00FF0000t   colort   boldt   fontt   thint   topt   rightt   bottomt   leftt   borderst   centert
   horizontalt   verticalt	   alignmentt   solidt   patternTypet   006666FFt   rgbg333333?t   tintt   fgColort   fills   0.00t   format_codet   number_formatt   lockedt   hiddent
   protectiont   stylet   border(   R  R  RI   Rn   t   Colort   Fontt   SideR  t   BORDER_THINt   Bordert	   Alignmentt   PatternFillt
   ProtectionR   t   _convert_to_style_kwargsR   (   R?   R  RN   RD   R  t   hstylet
   font_colorR  t   sideR  R  t
   fill_colorR  R  R  t   kw(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_to_excel_styleconverter4  sN    $c         C   sz  d d l  m } d } i i d d 6d 6} i i d d 6d 6} | d d	 d
 d d d d |  | d d d
 d	 d d d |  g } i i d d 6t d 6d 6}	 t j |	  }
 |
 d } | d d d
 d d d d d	 d d	 d |	  g } t |   } t |  } | j | d | | j | d | | j | } | d } | d } | j | k s[t	  | j | k spt	  Wd  QXd  S(   Ni(   t	   ExcelCellt   merge_styledR  R  R  t   0000FF00R  i   t   rowi    Rk  i*   R  ic   t   000000FFR  t   pandast
   mergestartt   mergeendR   t   B1t   A2(
   t   pandas.io.formats.excelR  RI   R   R  R   t   write_cellsRL  R  R   (   R?   R  RN   RD   R  R   t   sty_b1t   sty_a2t   initial_cellst
   sty_mergedt
   sty_kwargst   openpyxl_sty_mergedRG   R  t   wkst   xcell_b1t   xcell_a2(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_write_cells_merge_styledj  s(    $


s   mode,expectedt   wR  R   R'   R&   c      
   C   sS  d d  l  } t d g d d g } t |  } | j   }	 d |	 j d _ d |	 j d d _ |	 j d  d |	 j d d _ |	 j |  t	 | d	 | d
 | }
 | j
 |
 d d d t |
 j   | j |  } g  | j D] } | j ^ q } | | k st  x: t |  D], \ } } | j | d j | k st  qWWd  QXd  S(   Nii   R!   R  R'   i    t   A1R&   RD   t   modeR   R|   (   R  R   R   t   Workbookt
   worksheetst   titlet   valuet   create_sheetR  R   R  Rn   t   load_workbookR   R   (   R?   R  RN   RD   R  Rx   R  R  R  R^  R  t   wb2R   Ry   R|   t
   cell_value(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_write_append_mode  s"    
(   RT   RU   R  R  RV   R  R  R  (    (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyR  /  s   	6	 t   TestXlwtTestsc           B   s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C   s{   t  j d
 d d g  } t t j j d d  d | } t j t  - t	 |   } | j
 | d	 t Wd  QXWd  QXd  S(   Nt   siteR   t   2014t   heightt   weighti
   i   R!   R|   (   R  R   (   R  R  (   R  R  (   R   RN  R   R   R  R  RV   R   R  R   R  Rn   (   R?   R  RN   RD   t   colsR  RG   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt9   test_excel_raise_error_on_multiindex_columns_and_no_index  s    	!c         C   sh   t  j d
 d d g  } t j t j j d d  d | } t |   } | j | d	 t	 Wd  QXd  S(   NR  R   R  R  R  i
   i   R!   R|   (   R  R   (   R  R  (   R  R  (
   R   RN  R  R   R   R  R  R   R  RI   (   R?   R  RN   RD   R  R  RG   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt,   test_excel_multiindex_columns_and_index_true  s    	$c         C   se   t  j d	 d
 d g  } t t j j d d  d | } t |   } | j | d t Wd  QXd  S(   NR  R   R  R  R  i   i
   R|   (   R  R   (   R  R  (   R  R  (	   R   RN  R   R   R  R  R   R  Rn   (   R?   R  RN   RD   R  R  RG   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_excel_multiindex_index  s    	!c         C   s1  d d  l  } i i t d 6d 6i d d 6d d 6d d 6d d 6d	 6i d
 d 6d d 6d 6} t j |  } | j j sy t  | j j | j	 j
 k s t  | j j | j	 j k s t  | j j | j	 j k s t  | j j | j	 j k s t  | j j | j j k st  | j j | j j k s-t  d  S(   NiR  R  R  R  R  R  R  R  R  R  R  R  (   R   RI   R   t   _convert_to_styleR  R  R   t   Borderst   THINR  R  R  R  R  R  t   HORZ_CENTERR  t   horzt   VERT_TOPt   vert(   R?   R  RN   RD   R   R  t	   xls_style(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyR    s    
c         C   sQ   d } t  |  9 } t j t d |  t | d | d d Wd  QXWd  QXd  S(   Ns'   Append mode is not supported with xlwt!R   RD   R  R   (   R   RV   R   R   R   (   R?   R  RN   RD   R   R  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_write_append_mode_raises  s    (   RT   RU   R  R  R  R  R  (    (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyR    s
   						t   TestXlsxWriterTestsc           B   s)   e  Z e j d   d    Z d   Z RS(   R  c      
   C   s  t  j    t  j d  d d  l } Wd  QXt |  N} t i d d g d 6d d g d 6 } t |  } | j |  d } | j }	 |	 j	   d }
 |	 j
 i | d 6 } |
 j d	 d  |  | j   | j |  } y | d
 } Wn# t k
 r| j d d
  } n Xy | d } Wn  t k
 r?| j d  } n Xy | j } Wn  t k
 ro| j j j } n X| | k st  Wd  QXd  S(   NR)   ii@ R%   R$   s   #,##0i    t
   num_formats   B:BRd   R   t   B2(   R,   R   t   simplefilterR  R   R   R   R  R  R  t
   add_formatt
   set_columnR   R  R  R   t   get_sheet_by_namet   cellR  t	   ExceptionR  t   _format_codeR   (   R?   R  RN   RD   R  RG   R8   R  R  t   write_workbookt   write_worksheett
   col_formatt   read_workbookt   read_worksheetR  t   read_num_format(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_column_format  s8    	
c         C   sQ   d } t  |  9 } t j t d |  t | d | d d Wd  QXWd  QXd  S(   Ns-   Append mode is not supported with xlsxwriter!R   RD   R  R   (   R   RV   R   R   R   (   R?   R  RN   RD   R   R  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyR  	  s    (   RT   RU   R  R  R  R  (    (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyR    s   -t   TestExcelWriterEngineTestsc           B   s   e  Z e j j d  e j e d d e j j e j	 d  d d e j e
 d d e j j e j	 d  d d e j e d d e j j e j	 d	  d d
 g  d    Z d   Z e j j d  d    Z RS(   s	   klass,exts   .xlsxR  Rn  R  s   No xlsxwriterR  s   No openpyxls   .xlsR   s   No xlwtc         C   sm   t  |  [ } t |  } | d k rN t j d  rN t | t  sc t  n t | |  sc t  Wd  QXd  S(   Ns   .xlsxRn  (   R   R   R  t   safe_importt
   isinstanceR   R   (   R?   t   klassRN   RG   R  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_ExcelWriter_dispatch	  s
    	c         C   s*   t  j t d d  t d  Wd  QXd  S(   NR   s	   No enginet   nothing(   RV   R   R   R   (   R?   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt    test_ExcelWriter_dispatch_raises.	  s    s   ignore:\nPanel:FutureWarningc            s  g    g   d t  f    f d     Y}    f d   } t j d d   t |  t  d  } t | |  s{ t  t j d d   t d t	  c t j
     f d	   } | |  |  f d
    |  f d    |  f d    Wd  QXWd  QXd  S(   Nt
   DummyClassc              sG   e  Z e Z e Z d  d d g Z d Z   f d   Z  f d   Z RS(   R  RB  R   R  c            s     j  t  d  S(   N(   t   appendRI   (   R?   (   t   called_save(    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyR  >	  s    c            s     j  t  d  S(   N(   R  RI   (   R?   RP   t   kwargs(   t   called_write_cells(    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyR  A	  s    (	   RT   RU   Rn   R  R  t   supported_extensionsRD   R  R  (    (   R  R  (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyR  8	  s   c            sC   |    t     d k s t  t    d k s7 t    2 2d  S(   Ni   (   R{   R   (   t   func(   R  R  (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   check_calledD	  s
    s   io.excel.xlsx.writerR  s   something.testi   t   recordc              s     j  d  S(   Ns   something.test(   R  (    (   R  (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyR   S	  s    c              s     j  d  S(   Ns   something.test(   R  (    (   t   panel(    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyR   U	  s    c              s     j  d  S(   Ns   something.xlsx(   R  (    (   R  (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyR   V	  s    c              s     j  d d d S(   Ns   something.xlsRD   R  (   R  (    (   R  (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyR   X	  s   (   R   R  t   option_contextR   R  R   Rk   R   R   RI   t	   makePanel(   R?   R  R  R  R  (    (   R  R  R  R  s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_register_writer2	  s"    

(   RT   RU   RV   R  R  R[   R   t   skipifR  R  R   R   R  R  R-   R  (    (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyR  	  s   +	RD   s5   xlwt does not support openpyxl-compatible style dictsc         C   s  d   } d   } d   } t  j d  t  j |   t t j j d d   } t |  d k re d n d	  } t | d
 |  } | j | d d | j	 j | d d | j	 j
 | d d  } | j | d d t | d | j | d d | j   |  d* k rd  St  j d  } | j |  }	 d }
 x t |	 d j |	 d j  D]| \ } } t |  t |  k s|t  xO t | |  D]> \ } } | j | j k st  | | | |   |
 d 7}
 qWqRW|
 d+ d, k st  |  d k rd n d } d }
 xat |	 d j |	 d j  D]B\ } } t |  t |  k sNt  xt | |  D]\ } } d | j | j f } | d k r| j j st  | j j s@t  n| d k r| j j j | j j j k st  | j j j | d k s@t  n:| d k ru|  d k r<t | j  t d  k  r<q@| j j | j j k sZt  | j j d k s@t  n| d k r| j j j	 st  | j j  j	 | j j! j	 k o| j j" j	 k o| j j j	 k od  k n s@t  nJ| d! k r*| j j# st  | j j# s@t  n| d" k ro| j$ j% | j$ j% k sTt  | j$ j% d# k s@t  n | d$ k r| j& j' j | j& j' j k st  | j& j( | j& j( k st  | j& j' j | d% k st  | j& j( d& k s@t  nI | d' k r0| j) d( k st  | j) d) k s@t  n | | | |   | j | j k sXt  |
 d 7}
 q^Wq$W|
 d- d. k st  d }
 x t |	 d j |	 d j  D] \ } } t |  t |  k st  x t | |  D] \ } } d | j | j f } | d/ k r4| j j st  | j j sDt  n | | | |   | j | j k s\t  |
 d 7}
 qWqW|
 d0 d1 k st  Wd  QXd  S(2   Nc         S   s   t  d d d g d d d g d d d g d d d g d d d g d d d g d d d g d	 d d g d d d g d d d g d d d g g d
 |  j d |  j S(   Ns   font-weight: boldR   s   color: blues   text-decoration: underlines   border-style: solids   font-style: italics   text-align: rights   background-color: reds   number-format: 0%R|   R!   (   R   R|   R!   (   R  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyR  e	  s    c         S   s   | d k r( t  j d d j |   n  |  j j | j j k sF t  |  j j | j j k sd t  |  j j | j j k s t  |  j j | j j k s t  |  j	 | j	 k s t  |  j
 j | j
 j k s t  d  S(   NRn  R  R  s4   GH25351: failing on some attribute comparisons in {}(   Rn  R  (   RV   t   xfailR  R  t   __dict__R   R  R  R  R  R  (   t   cell1t   cell2RD   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   assert_equal_stylet	  s    c         S   s%   |  j  d  r! i i t d 6d 6Si  S(   Ns    
;R  R  (   R3  RI   (   t   css(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   custom_converter	  s    t   jinja2i   i   R   s   .xlsxs   .xlsRD   R   R8   t   unstyledt   axist   styledt   style_convertert   customR  Rn  i    i   t   00t   FFs   %s%dR  t   C3t   0000FFt   D4s   2.4.6t   singlet   B5t   mediumt   C6t   D7R  t   B8t   FF0000R  t   B9t   Generals   0%(   R  Rn  i   i   i   i   (   R  R0  R2  R4  R6  R7  R8  R:  i   i   (*   RV   t   importorskipR   R   R  R  R   R   R  R  R   R   R   t   writeR  R  RK  R!   R{   R   R  t   columnR  R  R  R  R  R   t   __version__t	   underlineR  R  R  R  R  t   italicR  R  R  R  R  R  (   RD   R  R%  R'  R  RG   R  R+  R  R^  t   n_cellsR   R   R#  R$  t   alphat   ref(    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_styler_to_excel\	  s    				!
$"	$s   requires fspatht
   TestFSPathc           B   s   e  Z d    Z d   Z RS(   c         C   so   t  j d  Z } t i d d g d 6 } | j |  t |  } t j |  } | | k se t  Wd  QXd  S(   Ns   foo.xlsxi   i   R%   (   Rk   R   R   R  R   RF   t   fspathR   (   R?   RG   R  R  Ry   (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_excelfile_fspath	  s    c         C   sI   t  j d  4 } t |  } t j |  t |  k s? t  Wd  QXd  S(   Ns   foo.xlsx(   Rk   R   R   RF   RG  R   R   (   R?   RG   R  (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   test_excelwriter_fspath
  s    (   RT   RU   RH  RI  (    (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyRF  	  s   	(\   t   collectionsR    t
   contextlibR   R   R   R   t   distutils.versionR   t	   functoolsR   RF   R,   R   t   numpyR   R   RV   t   pandas.compatR	   R
   R   R   R   R   t   pandas.util._test_decoratorst   utilt   _test_decoratorsR  R  R  R   R   R   R   t   pandas.core.configR   R   Rg  t   testingRk   R   R   R|  t   pandas.io.commonR   t   pandas.io.excelR   R   R   R   R   R   R   R  R   t   pandas.io.parsersR    t   getSeriesDatat   _seriesdt   getTimeSeriesDatat   _tsdR6   R9   R  R;   R7   R=   t   contextmanagerR/   R  t   objectR1   RX   R  R  R  R  RI   Rn   R[   R   R  R  R   R  R  R  R  R!  RE  RF  (    (    (    s9   lib/python2.7/site-packages/pandas/tests/io/test_excel.pyt   <module>   s   "."4"
A    "   ur:7A