§
    {hþh:õ  ã                  óˆ  — d dl mZ d dlmZmZ d dlmZ d dlmZ d dlZd dl	m
Z
 d dlZd dl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mc mZ d dlZd d
lmZmZmZmZm Z  d dl!m"Z#  e¦   «         rej$        j%        Z&g d¢Z' ej(        d ej)        d¦  «        g¬¦  «         ej(        d ej)        d¦  «        g¬¦  «         ej(        d ej)        d¦  «        g¬¦  «         ej(        d ej)        d¦  «        ¬¦  «         ej(        d ej)        d¦  «        ¬¦  «         ej(        d ej)        d¦  «        ¬¦  «        gZ*d+d„Z+d„ Z, ej-        d„ e*D ¦   «         e.¬¦  «        d„ ¦   «         Z/ej-        d„ ¦   «         Z0ej-        d„ ¦   «         Z1ej-        d„ ¦   «         Z2d,d!„Z3d-d%„Z4d&„ Z5 G d'„ d(¦  «        Z6 G d)„ d*¦  «        Z7dS ).é    )Úannotations)ÚdatetimeÚtime)Úpartial)ÚBytesION)ÚPath)ÚURLError)Ú
BadZipFile)Úis_platform_windows)Ú	DataFrameÚIndexÚ
MultiIndexÚSeriesÚread_csv)ú.xlsú.xlsxú.xlsmú.xlsbú.odsÚxlrd©ÚmarksÚopenpyxlÚpyxlsbÚodfÚcalamineÚpython_calamineÚread_extÚstrÚreturnÚboolc                óÀ   — | j         d         } | dk    r|dk    rdS | dk    r|dk    rdS |dk    r| dvrdS | dk    r|d	k    rdS |d	k    r| d
vrdS | dk    r|dk    rdS dS )zm
    Filter out invalid (engine, ext) pairs instead of skipping, as that
    produces 500+ pytest.skips.
    r   r   r   Fr   r   >   r   r   r   r   >   r   r   r   T)Úvalues)Úenginer   s     úY/var/www/histauto/venv/lib/python3.11/site-packages/pandas/tests/io/excel/test_readers.pyÚ_is_valid_engine_ext_pairr&   @   s±   € ð
 Œ]˜1Ô€FØ�ÒÐ ¨FÒ 2Ð 2ØˆuØ�‚€˜8 vÒ-Ð-ØˆuØ�6ÒÐ˜fÐ,?Ð?Ð?ØˆuØ�ÒÐ˜h¨'Ò1Ð1ØˆuØ�7ÒÐ˜vÐ-CÐCÐCØˆuØ�ÒÐ˜H¨Ò.Ð.ØˆuØˆ4ó    c                óR   — | j         |fz   }t          j        || j        ¬¦  «        }|S )z�
    engine gives us a pytest.param object with some marks, read_ext is just
    a string.  We need to generate a new pytest.param inheriting the marks.
    r   )r#   ÚpytestÚparamr   )r$   r   r#   Ú	new_params       r%   Ú_transfer_marksr,   U   s.   € ð
 Œ]˜h˜[Ñ(€FÝ”˜V¨6¬<Ð8Ñ8Ô8€IØÐr'   c                ób   — g | ],}t           D ]"}t          ||¦  «        ¯t          ||¦  «        ‘Œ#Œ-S © )Úread_ext_paramsr&   r,   )Ú.0ÚengÚexts      r%   ú
<listcomp>r3   `   sY   € ð ð ð àÝ"ðð ð Ý$ S¨#Ñ.Ô.ð	Ý˜˜SÑ!Ô!ðð ð ð r'   )ÚparamsÚidsc                ó   — | j         S )zS
    Fixture for Excel reader engine and read_ext, only including valid pairs.
    )r*   )Úrequests    r%   Úengine_and_read_extr8   _   s   € ð Œ=Ðr'   c                ó   — | \  }}|S ©Nr.   ©r8   r$   r   s      r%   r$   r$   o   s   € à*Ñ€FˆHØ€Mr'   c                ó   — | \  }}|S r:   r.   r;   s      r%   r   r   u   s   € à*Ñ€FˆHØ€Or'   c                óH   —  | dddd¦  «        }t          |ddd¬¦  «        }|S )	zI
    Obtain the reference data from read_csv with the Python engine.
    ÚioÚdataÚcsvz	test1.csvr   TÚpython)Ú	index_colÚparse_datesr$   )r   )ÚdatapathÚfilepathÚdf_refs      r%   rF   rF   {   s4   € ð
 ˆx˜˜f e¨[Ñ9Ô9€HÝ�h¨!¸ÀhÐOÑOÔO€FØ€Mr'   r$   ú
str | Nonec                ó   — dS )NÚnsr.   )r   r$   s     r%   Úget_exp_unitrJ   …   s   € Øˆ4r'   Úexpectedr   ÚNonec                ó|   — d | j         _        t          ||¦  «        }| j                              |¦  «        | _         d S r:   )ÚindexÚnamerJ   Úas_unit)rK   r   r$   Úunits       r%   Úadjust_expectedrR   ‰   s6   € Ø€H„NÔÝ˜ &Ñ)Ô)€Dà”^×+Ò+¨DÑ1Ô1€H„N€N€Nr'   c                ó|   — | dk    r5|                      t          j                             d¬¦  «        ¦  «         d S d S )Nr   z3Sheets containing datetimes not supported by pyxlsb©Úreason)Úapplymarkerr)   ÚmarkÚxfail)r$   r7   s     r%   Úxfail_datetimes_with_pyxlsbrY   �   sT   € Ø�ÒÐØ×ÒÝŒK×ÒØLð ñ ô ñ	
ô 	
ð 	
ð 	
ð 	
ð Ðr'   c                  óz  — e Zd Z ej        d¬¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ej                             d	g d
¢g d¢g d¢g d¢g d¢g d¢g¦  «        d„ ¦   «         Zej                             d	ddgddgg¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej                             dddg¦  «        d„ ¦   «         Zd„ Zd„ Zd „ Zd!„ Zd"„ Zd#„ Zd$„ Zd%„ Zej                             d&d eg d'¢g d(¢g d'¢d)d*ej         d+gd,œ¦  «        fd-d.e!e!d,œ e e"g d'¢d-¬/¦  «         e"g d(¢d.¬/¦  «         e"g d0¢d1¬/¦  «         e"d2d3ej         d4gd1¬/¦  «        d,œ¦  «        fg¦  «        d5„ ¦   «         Z#d6„ Z$d7„ Z%d8„ Z&ej                             d9i d:fd;d<id:fg¦  «        d=„ ¦   «         Z'd>„ Z(ej                             d?d@ edAdBgi¦  «        fdC edDg¬E¦  «        fg¦  «        dF„ ¦   «         Z)dG„ Z*dH„ Z+dI„ Z,dJ„ Z-dK„ Z.dL„ Z/ej         0                    dM¦  «        dN„ ¦   «         Z1dO„ Z2dP„ Z3dQ„ Z4ej                             dRdSdTdSgdSdTgdUdVdUgdUdVgg¦  «        dW„ ¦   «         Z5dX„ Z6dY„ Z7ej        j8        ej        j9        dZ„ ¦   «         ¦   «         Z:e;j<        ej        j9        d[„ ¦   «         ¦   «         Z=ej        j9        d\„ ¦   «         Z>ej        j?        d]„ ¦   «         Z@d^„ ZA e;jB        d_¦  «        d`„ ¦   «         ZCda„ ZDdb„ ZEdc„ ZFej                             dddeej         dfdgdfgfdhej         gdiz  fg¦  «        dj„ ¦   «         ZGdk„ ZHdl„ ZIdm„ ZJdn„ ZKdo„ ZLdp„ ZMdq„ ZNdr„ ZOej                             dsdtdudTd:gdTdfdtdvddTd:gdfdtdwdTd:gdTd:gdfdtdxdTd:gdTdfdydzdddTdgfdydzddd{„ fg¦  «        d|„ ¦   «         ZPd}„ ZQd~„ ZRd„ ZSd€„ ZTd�„ ZUd‚„ ZVdƒ„ ZWd„„ ZXdS )…ÚTestReadersT©Úautousec                ó´   — t          t          j        |¬¦  «        }|                      |ddd¦  «        ¦  «         |                     t          d|¦  «         dS )zG
        Change directory and set engine for read_excel calls.
        ©r$   r>   r?   ÚexcelÚ
read_excelN)r   Úpdra   ÚchdirÚsetattr©Úselfr$   rD   ÚmonkeypatchÚfuncs        r%   Úcd_and_set_enginezTestReaders.cd_and_set_engineš   sX   € õ
 •r”}¨VÐ4Ñ4Ô4ˆØ×Ò˜(˜( 4¨°Ñ9Ô9Ñ:Ô:Ð:Ø×Ò�B ¨dÑ3Ô3Ð3Ð3Ð3r'   c                ó  — d„ }|                      t          j        d|¦  «         ddddddœ}t          d|z   d	¦  «        5 }t          j        |¦  «        }d d d ¦  «         n# 1 swxY w Y   |�|}n||d
d …                  }||k    sJ ‚d S )Nc                ó   — | j         S r:   r_   )rf   ÚargsÚkwargss      r%   Úparserz,TestReaders.test_engine_used.<locals>.parser¥   s
   € Ø”;Ðr'   Úparser   r   r   r   ©ÚxlsxÚxlsmÚxlsbÚxlsÚodsÚtest1Úrbé   )rd   rb   Ú	ExcelFileÚopenra   )	rf   r   r$   rg   rn   Úexpected_defaultsÚfÚresultrK   s	            r%   Útest_engine_usedzTestReaders.test_engine_used£   sû   € ð	ð 	ð 	ð 	×Ò�BœL¨'°6Ñ:Ô:Ð:ð ØØØØð
ð 
Ðõ �'˜HÑ$ dÑ+Ô+ð 	&¨qÝ”] 1Ñ%Ô%ˆFð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&ð ÐØˆHˆHà(¨°!°"°"¬Ô6ˆHØ˜Ò!Ð!Ð!Ð!Ð!Ð!s   Á A!Á!A%Á(A%c           
     ó|  — ddiddiddiddiddidœ}|dv rt          j        d¦  «        }n/|d	k    rt          j        d
¦  «        }nt          j        d¦  «        }|�_t          j        t          |¬¦  «        5  t          j        d|z   dd||dd …                  ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S d S )NÚfooÚabcdé{   ÚTrueTrp   >   r   r   z8open_workbook() got an unexpected keyword argument 'foo'r   z/load() got an unexpected keyword argument 'foo'z8load_workbook() got an unexpected keyword argument 'foo'©Úmatchrv   ÚSheet1r   rx   )Ú
sheet_namerB   Úengine_kwargs)ÚreÚescaper)   ÚraisesÚ	TypeErrorrb   ra   )rf   r   r$   r{   Úmsgs        r%   Útest_engine_kwargszTestReaders.test_engine_kwargs»   s=  € ð ˜F�OØ˜C�LØ˜F�OØ˜4�=Ø˜6�?ð
ð 
Ðð Ð'Ð'Ð'Ý”)ÐWÑXÔXˆCˆCØ�uŠ_ˆ_Ý”)ÐNÑOÔOˆCˆCå”)ÐWÑXÔXˆCàÐÝ”�y°Ð4Ñ4Ô4ð ð Ý”Ø˜hÑ&Ø'ØØ"3°H¸Q¸R¸R´LÔ"Að	ñ ô ð ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð ð Ðs   Á8*B/Â/B3Â6B3c                óH  — d}t          j        t          |¬¦  «        5  t          j        d|z   ddd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          j        d|z   dd	gdd¬
¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz Passing an integer for `usecols`r„   rv   r†   r   é   ©r‡   rB   ÚusecolsÚSheet2rx   ©r‡   ÚskiprowsrB   r’   ©r)   r‹   Ú
ValueErrorrb   ra   ©rf   r   r�   s      r%   Útest_usecols_intzTestReaders.test_usecols_intÕ   sB  € à0ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	ÝŒMØ˜(Ñ"¨xÀ1Èaðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ Œ]�:¨SÐ1Ñ1Ô1ð 	ð 	ÝŒMØ˜(Ñ"Ø#Ø˜ØØðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s#   žAÁA
ÁA
Á,BÂBÂBc                ó(  — t          ||¦  «         |ddg         }t          |||¦  «         t          j        d|z   ddg d¢¬¦  «        }t          j        d|z   dd	gdg d¢¬
¦  «        }t	          j        ||¦  «         t	          j        ||¦  «         d S )NÚBÚCrv   r†   r   )r   é   r�   r‘   r“   rx   r”   ©rY   rR   rb   ra   ÚtmÚassert_frame_equal)rf   r7   r$   r   rF   rK   Údf1Údf2s           r%   Útest_usecols_listzTestReaders.test_usecols_listç   sº   € Ý# F¨GÑ4Ô4Ð4à˜3 ˜*Ô%ˆÝ˜ (¨FÑ3Ô3Ð3åŒmØ�hÑ¨8¸qÈ)È)È)ð
ñ 
ô 
ˆõ ŒmØ�hÑØØ�SØØ�I�Ið
ñ 
ô 
ˆõ 	Ô˜c 8Ñ,Ô,Ð,Ý
Ô˜c 8Ñ,Ô,Ð,Ð,Ð,r'   c                óÞ  — t          ||¦  «         |g d¢         }t          |||¦  «         t          j        d|z   ddd¬¦  «        }t          j        d|z   ddgdd¬	¦  «        }t	          j        ||¦  «         t	          j        ||¦  «         |d
dg         }t          |||¦  «         t          j        d|z   ddd¬¦  «        }t          j        d|z   ddgdd¬	¦  «        }t	          j        ||¦  «         t	          j        ||¦  «         t          j        d|z   ddd¬¦  «        }t          j        d|z   ddgdd¬	¦  «        }t	          j        ||¦  «         t	          j        ||¦  «         d S )N©ÚAr›   rœ   rv   r†   r   zA:Dr‘   r“   rx   r”   r›   rœ   zA,C,DzA,C:Drž   )rf   r7   r$   r   rF   rK   r¢   Údf3s           r%   Útest_usecols_strzTestReaders.test_usecols_strü   sÆ  € Ý# F¨GÑ4Ô4Ð4à˜/˜/˜/Ô*ˆÝ˜ (¨FÑ3Ô3Ð3åŒmØ�hÑ¨8¸qÈ%ð
ñ 
ô 
ˆõ ŒmØ�hÑØØ�SØØð
ñ 
ô 
ˆõ 	Ô˜c 8Ñ,Ô,Ð,Ý
Ô˜c 8Ñ,Ô,Ð,à˜3 ˜*Ô%ˆÝ˜ (¨FÑ3Ô3Ð3åŒmØ�hÑ¨8¸qÈ'ð
ñ 
ô 
ˆõ ŒmØ�hÑØØ�SØØð
ñ 
ô 
ˆõ 	Ô˜c 8Ñ,Ô,Ð,Ý
Ô˜c 8Ñ,Ô,Ð,åŒmØ�hÑ¨8¸qÈ'ð
ñ 
ô 
ˆõ ŒmØ�hÑØØ�SØØð
ñ 
ô 
ˆõ 	Ô˜c 8Ñ,Ô,Ð,Ý
Ô˜c 8Ñ,Ô,Ð,Ð,Ð,r'   r’   )r   rx   r�   )r   r�   rx   )rx   r   r�   )rx   r�   r   )r�   r   rx   )r�   rx   r   c                ó¼   — t          ||¦  «         |ddg         }t          |||¦  «         t          j        d|z   dd|¬¦  «        }t	          j        ||¦  «         d S )Nr¦   rœ   rv   r†   r   r‘   rž   )rf   r7   r$   r   r’   rF   rK   r}   s           r%   Ú.test_usecols_diff_positional_int_columns_orderz:TestReaders.test_usecols_diff_positional_int_columns_order/  ss   € õ 	$ F¨GÑ4Ô4Ð4à˜3 ˜*Ô%ˆÝ˜ (¨FÑ3Ô3Ð3å”Ø�hÑ¨8¸qÈ'ð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   r›   ÚDc                óº   — |ddg         }t          t          |¦  «        ¦  «        |_        t          j        d|z   d|¬¦  «        }t          j        ||¦  «         d S )Nr›   r«   rv   r†   ©r‡   r’   )ÚrangeÚlenrN   rb   ra   rŸ   r    )rf   r   r’   rF   rK   r}   s         r%   Ú.test_usecols_diff_positional_str_columns_orderz:TestReaders.test_usecols_diff_positional_str_columns_order?  sZ   € à˜3 ˜*Ô%ˆÝ�s 8™}œ}Ñ-Ô-ˆŒå”˜w¨Ñ1¸hÐPWÐXÑXÔXˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   c                óª   — t          ||¦  «         |}t          |||¦  «         t          j        d|z   dd¬¦  «        }t	          j        ||¦  «         d S ©Nrv   r†   r   ©r‡   rB   rž   ©rf   r7   r$   r   rF   rK   r}   s          r%   Útest_read_excel_without_slicingz+TestReaders.test_read_excel_without_slicingG  s^   € Ý# F¨GÑ4Ô4Ð4àˆÝ˜ (¨FÑ3Ô3Ð3å”˜w¨Ñ1¸hÐRSÐTÑTÔTˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   c                ó¼   — t          ||¦  «         |ddg         }t          |||¦  «         t          j        d|z   ddd¬¦  «        }t	          j        ||¦  «         d S )Nrœ   r«   rv   r†   r   zA,D:Er‘   rž   r´   s          r%   Útest_usecols_excel_range_strz(TestReaders.test_usecols_excel_range_strP  sq   € Ý# F¨GÑ4Ô4Ð4à˜3 ˜*Ô%ˆÝ˜ (¨FÑ3Ô3Ð3å”Ø�hÑ¨8¸qÈ'ð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   c                ó¦   — d}t          j        t          |¬¦  «        5  t          j        d|z   dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzInvalid column name: E1r„   rv   r†   zD:E1r­   r–   r˜   s      r%   Ú$test_usecols_excel_range_str_invalidz0TestReaders.test_usecols_excel_range_str_invalid[  s°   € Ø'ˆåŒ]�:¨SÐ1Ñ1Ô1ð 	Sð 	SÝŒM˜' HÑ,¸È6ÐRÑRÔRÐRð	Sð 	Sð 	Sñ 	Sô 	Sð 	Sð 	Sð 	Sð 	Sð 	Sð 	Sð 	Søøøð 	Sð 	Sð 	Sð 	Sð 	Sð 	Só   žAÁA
ÁA
c                ó®   — d}t          j        t          |¬¦  «        5  t          j        d|z   ddgddg¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz(list indices must be integers.*, not strr„   rv   r†   r¦   rœ   r‘   ©r)   r‹   rŒ   rb   ra   r˜   s      r%   Útest_index_col_label_errorz&TestReaders.test_index_col_label_errora  s°   € Ø8ˆåŒ]�9¨CÐ0Ñ0Ô0ð 	ð 	ÝŒMØ˜(Ñ"Ø#Ø˜%Ø˜c˜
ð	ñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   žA
Á
AÁAc                ó¨   — t          j        d|z   dd¬¦  «        }t          g d¢t          g d¬¦  «        ¬¦  «        }t	          j        ||¦  «         d S )Nrv   ÚSheet3r¦   r³   )r›   rœ   r«   ÚEÚF©rO   ©ÚcolumnsrN   )rb   ra   r   r   rŸ   r    ©rf   r   r}   rK   s       r%   Útest_index_col_strzTestReaders.test_index_col_strl  se   € å”˜w¨Ñ1¸hÐRUÐVÑVÔVˆÝØ-Ð-Ð-µU¸2ÀCÐ5HÑ5HÔ5Hð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   c           	     óÂ   — t          j        d|z   dg d¢¬¦  «        }t          g d¢t          g gdz  g gdz  g d¢¬¦  «        ¬¦  «        }t	          j        ||¦  «         d S )	Nrv   r¿   r¥   r³   )r«   rÀ   rÁ   r�   ©ÚlevelsÚcodesÚnamesrÃ   )rb   ra   r   r   rŸ   r    rÅ   s       r%   Útest_index_col_emptyz TestReaders.test_index_col_emptyt  s‚   € å”Ø�hÑ¨8¸¸¸ð
ñ 
ô 
ˆõ Ø#�O�OÝ R D¨1¡H°R°D¸1±HÀOÀOÀOÐTÑTÔTð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   rB   Nr�   c                óÚ   — t          j        d|z   d|¬¦  «        }t          g d¢g d¢gg d¢¬¦  «        }|r |                     |j        |         ¦  «        }t          j        ||¦  «         d S )Nrv   ÚSheet4r³   )Úi1ÚaÚx)Úi2ÚbÚy)z
Unnamed: 0Úcol1Úcol2©rÄ   )rb   ra   r   Ú	set_indexrÄ   rŸ   r    )rf   r   rB   r}   rK   s        r%   Útest_index_col_with_unnamedz'TestReaders.test_index_col_with_unnamed  s™   € õ ”Ø�hÑ¨8¸yð
ñ 
ô 
ˆõ ØÐÐÐ/Ð/Ð/Ð0Ð:XÐ:XÐ:Xð
ñ 
ô 
ˆð ð 	GØ×)Ò)¨(Ô*:¸9Ô*EÑFÔFˆHå
Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   c                ó¦   — d}t          j        t          |¬¦  «        5  t          j        d|z   dg¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzEUsecols do not match columns, columns expected but not found: \['E'\]r„   rv   rÀ   ©r’   r–   r˜   s      r%   Ú%test_usecols_pass_non_existent_columnz1TestReaders.test_usecols_pass_non_existent_column�  s£   € ðð 	õ Œ]�:¨SÐ1Ñ1Ô1ð 	=ð 	=ÝŒM˜' HÑ,°s°eÐ<Ñ<Ô<Ð<ð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=ð 	=ð 	=rº   c                ó¨   — d}t          j        t          |¬¦  «        5  t          j        d|z   ddg¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz['usecols' must either be list-like of all strings, all unicode, all integers or a callable.r„   rv   ÚE1r   rÛ   r–   r˜   s      r%   Útest_usecols_wrong_typez#TestReaders.test_usecols_wrong_type—  sº   € ðDð 	õ
 Œ]�:¨SÐ1Ñ1Ô1ð 	Að 	AÝŒM˜' HÑ,°t¸Q°iÐ@Ñ@Ô@Ð@ð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Að 	Að 	As   žAÁAÁAc                óŽ   — t          j        d|z   d¬¦  «        }t          ddggddg¬¦  «        }t          j        ||¦  «         d S )	NÚtest2r†   ©r‡   ÚaaaaÚbbbbbÚTestÚTest1r×   ©rb   ra   r   rŸ   r    )rf   r   ÚparsedrK   s       r%   Útest_excel_stop_iteratorz$TestReaders.test_excel_stop_iterator   sS   € Ý”˜w¨Ñ1¸hÐGÑGÔGˆÝ˜v wÐ/Ð0¸6À7Ð:KÐLÑLÔLˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   c                ó<  — t          ||¦  «         |dk    r9|dk    r3|                     t          j                             d¬¦  «        ¦  «         t          j        d|z   d¬¦  «        }t          t          j	        ggdg¬	¦  «        }t          j        ||¦  «         d S )
Nr   r   z+Calamine can't extract error from ods filesrT   Útest3r†   râ   rå   r×   )rY   rV   r)   rW   rX   rb   ra   r   ÚnpÚnanrŸ   r    )rf   r7   r$   r   rè   rK   s         r%   Útest_excel_cell_error_naz$TestReaders.test_excel_cell_error_na¥  s¦   € Ý# F¨GÑ4Ô4Ð4ð �ZÒÐ H°Ò$6Ð$6Ø×ÒÝ”×!Ò!Ð)VÐ!ÑWÔWñô ð õ ”˜w¨Ñ1¸hÐGÑGÔGˆÝ�rœv˜h˜Z°&°Ð:Ñ:Ô:ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   c                ó†  — t          ||¦  «         |}t          |||¦  «         t          j        d|z   dd¬¦  «        }t          j        d|z   ddgd¬¦  «        }t	          j        ||¦  «         t	          j        ||¦  «         t          j        d|z   ddd¬¦  «        }t	          j        ||j        d d	…         ¦  «         d S )
Nrv   r†   r   r³   r“   rx   ©r‡   r•   rB   ©r‡   rB   Ú
skipfooteréÿÿÿÿ)rY   rR   rb   ra   rŸ   r    Úiloc)	rf   r7   r$   r   rF   rK   r¡   r¢   r§   s	            r%   Útest_excel_tablezTestReaders.test_excel_table²  sÛ   € Ý# F¨GÑ4Ô4Ð4àˆÝ˜ (¨FÑ3Ô3Ð3åŒm˜G hÑ.¸8ÈqÐQÑQÔQˆÝŒmØ�hÑ¨8¸q¸cÈQð
ñ 
ô 
ˆõ 	Ô˜c 8Ñ,Ô,Ð,Ý
Ô˜c 8Ñ,Ô,Ð,åŒmØ�hÑ¨8¸qÈQð
ñ 
ô 
ˆõ 	Ô˜c 3¤8¨C¨R¨C¤=Ñ1Ô1Ð1Ð1Ð1r'   c                óÖ  — t          ||¦  «         t          ||¦  «        }t          j        g d¢g d¢g d¢g d¢g d¢t	          t          ddd¦  «        t          ddd	¦  «        t          d
dd¦  «        t          ddd¦  «        t          ddd¦  «        gd|› d�¬¦  «        dœ¦  «        }d}t          j        ||z   d¬¦  «        }t          j	        ||¦  «         | 
                    ¦   «         }d|j        |j        d         df<   t          j        ||z   d¬¦  «        }t          j	        ||¦  «         t          |j        ¦  «        D ]I\  }	}
t          j        ||z   d|	¬¦  «        }|                     |
¦  «        }t          j	        ||¦  «         ŒJ|d                              t"          ¦  «        |d<   t          j        ||z   ddt"          i¬¦  «        }t          j	        ||¦  «         d S )N)rx   r�   éýÿÿÿé   r   )g      ô?g      @gHáz®Gý?g¸…ëQ¸þ?g•Ö&è.>)TFTTF)rx   r�   r�   rø   é   )rÐ   r�   ÚcÚdÚeiÝ  é
   é   é   iq  rx   é   é   iß  r�   úM8[ú]©Údtype)ÚIntColÚFloatColÚBoolColÚStrColÚStr2ColÚDateColÚ
test_typesr†   râ   g      @r
  r³   r	  ©r‡   Ú
converters)rY   rJ   r   Ú	from_dictr   r   rb   ra   rŸ   r    ÚcopyÚlocrN   Ú	enumeraterÄ   rØ   Úapplyr   )rf   r7   r$   r   rQ   rK   ÚbasenameÚactualÚfloat_expectedÚicolrO   Úexps               r%   Útest_reader_special_dtypesz&TestReaders.test_reader_special_dtypesÅ  s,  € Ý# F¨GÑ4Ô4Ð4å˜H fÑ-Ô-ˆÝÔ&à*Ð*Ð*ØBÐBÐBØ;Ð;Ð;Ø)˜/˜/Ø2Ð2Ð2Ý å   r¨2Ñ.Ô.Ý   r¨2Ñ.Ô.Ý   q¨!Ñ,Ô,Ý   r¨2Ñ.Ô.Ý   q¨"Ñ-Ô-ðð ( ˜-˜-˜-ð	ñ 	ô 	ðð ñ
ô 
ˆð&  ˆõ ”˜x¨(Ñ2¸xÐHÑHÔHˆÝ
Ô˜f hÑ/Ô/Ð/ð "Ÿš™œˆØADˆÔ˜>Ô/°Ô2°IÐ=Ñ>Ý”˜x¨(Ñ2¸xÐHÑHÔHˆÝ
Ô˜f nÑ5Ô5Ð5õ $ HÔ$4Ñ5Ô5ð 	/ð 	/‰JˆD�$Ý”]Ø˜8Ñ#°ÀDðñ ô ˆFð ×$Ò$ TÑ*Ô*ˆCÝÔ! &¨#Ñ.Ô.Ð.Ð.à% hÔ/×5Ò5µcÑ:Ô:ˆ�ÑÝ”Ø�xÑ¨HÀ(ÍCÀð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   c           
     óô   — d}t          j        g d¢dt          j        dddgg d¢dt          j        d	d
dgdœ¦  «        }d„ d„ d„ d„ dœ}t	          j        ||z   d|¬¦  «        }t          j        ||¦  «         d S )NÚtest_converters)rx   r�   r÷   éüÿÿr   g      )@gÍÌÌÌÌL2@g3333333@g:Œ0âŽy5>)ÚFoundr  r  ú	Not foundr  Ú1Ú3Ú4Ú5)r  r  r  r	  c                ó0   — | dk    rt          | ¦  «        ndS )NÚ r  )Úint©rÑ   s    r%   ú<lambda>z4TestReaders.test_reader_converters.<locals>.<lambda>  s   € ¨!¨rª'¨'¥ A¡¤ °u€ r'   c                ó(   — | rd| z  nt           j        S )Nrý   )rì   rí   r&  s    r%   r'  z4TestReaders.test_reader_converters.<locals>.<lambda>  s   € ¨AÐ"9 " q¡& &µ2´6€ r'   c                ó   — | dk    rdndS )Nr$  r  r  r.   r&  s    r%   r'  z4TestReaders.test_reader_converters.<locals>.<lambda>  s   €  A¨¢G G˜˜°€ r'   c                ó(   — | rt          | ¦  «        ndS )Nr$  )r   r&  s    r%   r'  z4TestReaders.test_reader_converters.<locals>.<lambda>  s   €  1Ð,�˜Q™œ˜¨"€ r'   )r  r  r�   r�   r†   r  )r   r  rì   rí   rb   ra   rŸ   r    )rf   r   r  rK   r  r  s         r%   Útest_reader_convertersz"TestReaders.test_reader_converters÷  sº   € Ø$ˆåÔ&à.Ð.Ð.Ø!¥2¤6¨4°°{ÐCØLÐLÐLØ¥¤¨¨S°#Ð6ð	ð ñ
ô 
ˆð =Ð<Ø9Ð9Ø<Ð<Ø,Ð,ð	
ð 
ˆ
õ ”Ø�xÑ¨HÀð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   c           	     óf  — d}t          j        ||z   ¦  «        }t          g d¢g d¢g d¢ddt          j        dgdœ¦  «        }t          j        ||¦  «         t          j        ||z   dd	t          d
œ¬¦  «        }|d                              d¦  «        |d<   |d                              d	¦  «        |d<   t          g d¢d¬¦  «        |d<   t          j        ||¦  «         d}t          j        t          |¬¦  «        5  t          j        ||z   ddi¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚ	testdtype©rx   r�   r�   rø   ©ç      @ç      @ç      @ç      @ç      ð?ç       @ç      @©rÐ   rÓ   rú   rû   Úfloat64Úfloat32)rÐ   rÓ   rú   r  rÐ   rÓ   ©Ú001Ú002Ú003Ú004r   rú   z(Unable to convert column d to type int64r„   rû   Úint64)rb   ra   r   rì   rí   rŸ   r    r   Úastyper   r)   r‹   r—   )rf   r   r  r  rK   r�   s         r%   Útest_reader_dtypezTestReaders.test_reader_dtype  s°  € àˆÝ”˜x¨(Ñ2Ñ3Ô3ˆåà!�\�\Ø)Ð)Ð)Ø!�\�\Ø˜3¥¤¨Ð,ð	ð ñ
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/å”Ø�xÑ¨Y¸YÍSÐ'QÐ'Qð
ñ 
ô 
ˆð ! œ×,Ò,¨YÑ7Ô7ˆ�‰Ø  œ×,Ò,¨YÑ7Ô7ˆ�‰ÝÐ;Ð;Ð;À5ÐIÑIÔIˆ�‰Ý
Ô˜f hÑ/Ô/Ð/à8ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	Eð 	EÝŒM˜( XÑ-°c¸7°^ÐDÑDÔDÐDð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eð 	Eð 	Es   Ã=D&Ä&D*Ä-D*zdtype,expectedr.  r/  r4  r5  r6  r7  r8  r9  r  r:  r   r  Ú2r!  c                óf   — d}t          j        ||z   |¬¦  «        }t          j        ||¦  «         d S )Nr-  r  ©rb   ra   rŸ   r    )rf   r   r  rK   r  r  s         r%   Útest_reader_dtype_strz!TestReaders.test_reader_dtype_str.  s;   € ð: ˆå”˜x¨(Ñ2¸%Ð@Ñ@Ô@ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   c                óæ  ‡‡	‡
— |dv rt          j        d|› d�¦  «         t          t          ddgd¬¦  «        t          dd	gd
¬¦  «        t          ddgd¬¦  «        t          ddgd¬¦  «        t          t          j        dgd¬¦  «        t          t          j        dgd
¬¦  «        t          t          j        dgd¬¦  «        t          t          j        dgd¬¦  «        t          t	          j        d¦  «        gdz  ¦  «        t          t          j        t          j        gd¬¦  «        dœ
¦  «        Š	t          j        |¦  «        5 }‰	 	                    |dd¬¦  «         t	          j
        |d|¬¦  «        }d d d ¦  «         n# 1 swxY w Y   |dk    r•dd lŠ
ddlmŠ t          ˆˆ	ˆ
fd„‰	j        D ¦   «         ¦  «        } ‰|d         j        j                             ‰
                     d¬¦  «        ¦  «        ¦  «        |d<    ‰‰
                     d d g¦  «        ¦  «        |d <   n4‰	}t'          ||¦  «        }|d                              d!|› d"�¦  «        |d<   t          j        ||¦  «         d S )#N©r   r   úNo engine for filetype: 'ú'rx   r�   ÚInt64r  r0  r2  ÚFloat64TFÚbooleanrÐ   rÓ   Ústringé   g      @z
2019-12-31r�   )
rÐ   rÓ   rú   rû   rü   r|   ÚgÚhÚiÚjÚtest©r‡   rN   ©r‡   Údtype_backendÚpyarrowr   )ÚArrowExtensionArrayc           	     ó^   •— i | ])}| ‰‰                      ‰|         d ¬¦  «        ¦  «        “Œ*S )T)Úfrom_pandas)Úarray)r0   ÚcolrX  ÚdfÚpas     €€€r%   ú
<dictcomp>z2TestReaders.test_dtype_backend.<locals>.<dictcomp>n  sK   ø€ ð ð ð àð Ð,Ð,¨R¯XªX°b¸´gÈ4¨XÑ-PÔ-PÑQÔQðð ð r'   rQ  Úus)rQ   rR  r  r  )r)   Úskipr   r   rb   ÚNAÚ	TimestamprŸ   Úensure_cleanÚto_excelra   rW  Úpandas.arraysrX  rÄ   r[  Ú	_pa_arrayÚcastÚ	timestamprJ   r@  r    )rf   r   rV  r$   Ú	file_pathr}   rK   rQ   rX  r]  r^  s           @@@r%   Útest_dtype_backendzTestReaders.test_dtype_backendP  sá  øøø€ àÐ(Ð(Ð(ÝŒKÐ?°HÐ?Ð?Ð?Ñ@Ô@Ð@åå˜Q ˜F¨'Ð2Ñ2Ô2Ý˜S #˜J¨iÐ8Ñ8Ô8Ý˜T 5˜M°Ð;Ñ;Ô;Ý˜S #˜J¨hÐ7Ñ7Ô7Ý�RœU A˜J¨gÐ6Ñ6Ô6Ý�RœU C˜L°	Ð:Ñ:Ô:Ý�RœU D˜M°Ð;Ñ;Ô;Ý�RœU C˜L°Ð9Ñ9Ô9Ý�Rœ\¨,Ñ7Ô7Ð8¸1Ñ<Ñ=Ô=Ý�RœU¥B¤E˜N°'Ð:Ñ:Ô:ðð ñ
ô 
ˆõ Œ_˜XÑ&Ô&ð 	¨)Ø�KŠK˜	¨f¸EˆKÑBÔBÐBÝ”]Ø f¸Mðñ ô ˆFð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð
 ˜IÒ%Ð%Ø Ð Ð Ð à9Ð9Ð9Ð9Ð9Ð9å ðð ð ð ð ð à!œzðñ ô ñô ˆHð 0Ð/Ø˜”Ô#Ô-×2Ò2°2·<²<ÀT°<Ñ3JÔ3JÑKÔKñô ˆH�S‰Mð 0Ð/°·²¸$À¸Ñ0FÔ0FÑGÔGˆH�S‰MˆMàˆHÝ ¨&Ñ1Ô1ˆDØ$ SœM×0Ò0°°t°°°Ñ?Ô?ˆH�S‰Må
Ô˜f hÑ/Ô/Ð/Ð/Ð/s   Å0FÆFÆ	Fc                ót  — |dv rt          j        d|› d�¦  «         t          t          j        dgdt          j        gdœ¦  «        }t          j        |¦  «        5 }|                     |dd¬	¦  «         t          j	        |dd
d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j
        ||¦  «         d S )NrG  rH  rI  r4  r0  ©rÐ   rÓ   rS  FrT  Únumpy_nullabler8  )r‡   rV  r  )r)   ra  r   rì   rí   rŸ   rd  re  rb   ra   r    )rf   r   r]  rj  r}   s        r%   Útest_dtype_backend_and_dtypez(TestReaders.test_dtype_backend_and_dtype€  s  € àÐ(Ð(Ð(ÝŒKÐ?°HÐ?Ð?Ð?Ñ@Ô@Ð@å�bœf c˜]°#µr´v°Ð?Ð?Ñ@Ô@ˆÝŒ_˜XÑ&Ô&ð 	¨)Ø�KŠK˜	¨f¸EˆKÑBÔBÐBÝ”]ØØ!Ø.Øð	ñ ô ˆFð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ 	Ô˜f bÑ)Ô)Ð)Ð)Ð)s   Á1BÂBÂBc           
     óæ  — |dv rt          j        d|› d�¦  «         t          j        d|¦  «        5  t	          t          j        ddgt
          j        ¬¦  «        t          j        dt          j        gt
          j        ¬¦  «        d	œ¦  «        }t          j
        |¦  «        5 }|                     |d
d¬¦  «         t          j        |d
d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t	          t          ddgt          j        |¦  «        ¬¦  «        t          dd gt          j        |¦  «        ¬¦  «        d	œ¦  «        }t          j        ||d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrG  rH  rI  zmode.string_storagerÐ   rÓ   r  rÑ   rm  rS  FrT  rn  rU  )Úcheck_column_type)r)   ra  rb   Úoption_contextr   rì   r[  Úobject_rb  rŸ   rd  re  ra   r   ÚStringDtyper    )rf   r   Ústring_storager]  rj  r}   rK   s          r%   Útest_dtype_backend_stringz%TestReaders.test_dtype_backend_string�  s  € àÐ(Ð(Ð(ÝŒKÐ?°HÐ?Ð?Ð?Ñ@Ô@Ð@åÔÐ4°nÑEÔEð 	Mð 	MÝåœ 3¨ *µB´JÐ?Ñ?Ô?Ýœ 3­¬ ,µb´jÐAÑAÔAðð ñô ˆBõ ” Ñ*Ô*ð ¨iØ—’˜I°&À�ÑFÔFÐFÝœØ¨&Ð@Pðñ ô �ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ !å  c 
µ"´.ÀÑ2PÔ2PÐQÑQÔQÝ  d µ2´>À.Ñ3QÔ3QÐRÑRÔRðð ñô ˆHõ Ô! &¨(ÀeÐLÑLÔLÐLð-	Mð 	Mð 	Mñ 	Mô 	Mð 	Mð 	Mð 	Mð 	Mð 	Mð 	Mð 	Møøøð 	Mð 	Mð 	Mð 	Mð 	Mð 	Ms7   ²A1E&Â#0CÃE&ÃC#	Ã#E&Ã&C#	Ã'A2E&Å&E*Å-E*zdtypes, exp_valuerx   úa.1r?  c                óD  — d}dt           i|¥}|                     ¦   «         }t          j        ||z   |¬¦  «        }t	          t          dgt           ¬¦  «        t          |g|st           nd ¬¦  «        dœ¦  «        }||k    s
J d¦   «         ‚t          j        ||¦  «         d S )NÚdf_mangle_dup_col_dtypesrÐ   r  rx   )rÐ   rw  zdtype dict changed)Úobjectr  rb   ra   r   r   rŸ   r    )	rf   r   ÚdtypesÚ	exp_valuer  Ú
dtype_dictÚdtype_dict_copyr}   rK   s	            r%   Útest_dtype_mangle_dup_colsz&TestReaders.test_dtype_mangle_dup_cols­  s»   € ð .ˆØ�6Ð, VÐ,ˆ
Ø$Ÿ/š/Ñ+Ô+ˆå”˜x¨(Ñ2¸*ÐEÑEÔEˆÝå˜Q˜C¥vÐ.Ñ.Ô.Ý˜y˜k¸vÐ1Oµ°È4ÐPÑPÔPðð ñ
ô 
ˆð ˜_Ò,Ð,Ð,Ð.BÑ,Ô,Ð,Ý
Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   c                óˆ   — d}t          j        ||z   ¦  «        }t          dg d¢i¦  «        }t          j        ||¦  «         d S )NÚtest_spacesÚtestcol)zthis is greatz4    spacesz1 trailing z
 1 leadingz2  spaces  multiple  timesrç   )rf   r   r  r  rK   s        r%   Útest_reader_spaceszTestReaders.test_reader_spaces¾  s\   € à ˆå”˜x¨(Ñ2Ñ3Ô3ˆÝàð ð ð ðñ

ô 

ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   zbasename,expectedzgh-35802ÚCOLUMNzTest (1)zgh-36122z
got 2nd sar×   c                ó˜   — |dk    rt          j        d|› �¦  «         t          j        ||z   ¦  «        }t	          j        ||¦  «         d S )Nr   zSkipped for engine: )r)   ra  rb   ra   rŸ   r    )rf   r$   r   r  rK   r  s         r%   Útest_read_excel_ods_nested_xmlz*TestReaders.test_read_excel_ods_nested_xmlÑ  sS   € ð �UŠ?ˆ?ÝŒKÐ7¨vÐ7Ð7Ñ8Ô8Ð8å”˜x¨(Ñ2Ñ3Ô3ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   c                óà   — d}t          j        ||z   d ¬¦  «        }g d¢}t          j        ||                     ¦   «         ¦  «         |t          |                     ¦   «         ¦  «        k    sJ ‚d S )NÚtest_multisheetrâ   )ÚCharlieÚAlphaÚBeta)rb   ra   rŸ   Úassert_contains_allÚkeysÚlist©rf   r   r  ÚdfsÚexpected_keyss        r%   Útest_reading_all_sheetsz#TestReaders.test_reading_all_sheetsà  sq   € ð %ˆÝŒm˜H xÑ/¸DÐAÑAÔAˆà4Ð4Ð4ˆÝ
Ô˜}¨c¯hªh©j¬jÑ9Ô9Ð9ð ¥ S§X¢X¡Z¤ZÑ 0Ô 0Ò0Ð0Ð0Ð0Ð0Ð0r'   c                ó2  — d}g d¢}t          j        ||z   |¬¦  «        }t          t          |¦  «        ¦  «        }t	          j        ||                     ¦   «         ¦  «         t          |¦  «        t          |                     ¦   «         ¦  «        k    sJ ‚d S )Nrˆ  )r�   r‰  r‰  râ   )rb   ra   rŽ  ÚsetrŸ   rŒ  r�  r¯   )rf   r   r  r‘  r�  s        r%   Ú%test_reading_multiple_specific_sheetsz1TestReaders.test_reading_multiple_specific_sheetsí  sŠ   € ð %ˆà1Ð1Ð1ˆÝŒm˜H xÑ/¸MÐJÑJÔJˆÝ�S Ñ/Ô/Ñ0Ô0ˆÝ
Ô˜}¨c¯hªh©j¬jÑ9Ô9Ð9Ý�=Ñ!Ô!¥S¨¯ª©¬¡_¤_Ò4Ð4Ð4Ð4Ð4Ð4r'   c                ó’   — d}t          j        ||z   d ¬¦  «        }g d¢}t          j        ||                     ¦   «         ¦  «         d S )NÚblank_with_headerrâ   )r†   r“   r¿   )rb   ra   rŸ   rŒ  r�  r�  s        r%   Ú"test_reading_all_sheets_with_blankz.TestReaders.test_reading_all_sheets_with_blankû  sN   € ð 'ˆÝŒm˜H xÑ/¸DÐAÑAÔAˆØ6Ð6Ð6ˆÝ
Ô˜}¨c¯hªh©j¬jÑ9Ô9Ð9Ð9Ð9r'   c                óz   — t          j        d|z   d¬¦  «        }t          j        |t	          ¦   «         ¦  «         d S )NÚblankr†   râ   )rb   ra   rŸ   r    r   )rf   r   r  s      r%   Útest_read_excel_blankz!TestReaders.test_read_excel_blank  s8   € Ý”˜w¨Ñ1¸hÐGÑGÔGˆÝ
Ô˜f¥i¡k¤kÑ2Ô2Ð2Ð2Ð2r'   c                ó†   — t          ddg¬¦  «        }t          j        d|z   d¬¦  «        }t          j        ||¦  «         d S )NÚcol_1Úcol_2r×   r—  r†   râ   )r   rb   ra   rŸ   r    )rf   r   rK   r  s       r%   Ú!test_read_excel_blank_with_headerz-TestReaders.test_read_excel_blank_with_header	  sJ   € Ý g¨wÐ%7Ð8Ñ8Ô8ˆÝ”Ð2°XÑ=È(ÐSÑSÔSˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   c                ó@  — t          j        t          d¬¦  «        5  t          j        d|z   dgd ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t
          d¬¦  «        5  t          j        d|z   d„ d ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nz \(sheet: Sheet1\)$r„   r—  rx   )Úheaderr‡   rv   c                ó   — ddz  S )Nrx   r   r.   r&  s    r%   r'  zHTestReaders.test_exception_message_includes_sheet_name.<locals>.<lambda>  s
   € ÀÀAÁ€ r'   )r’   r‡   )r)   r‹   r—   rb   ra   ÚZeroDivisionError©rf   r   s     r%   Ú*test_exception_message_includes_sheet_namez6TestReaders.test_exception_message_includes_sheet_name  sL  € åŒ]�:Ð-CÐDÑDÔDð 	Wð 	WÝŒMÐ-°Ñ8À!ÀÐQUÐVÑVÔVÐVð	Wð 	Wð 	Wñ 	Wô 	Wð 	Wð 	Wð 	Wð 	Wð 	Wð 	Wøøøð 	Wð 	Wð 	Wð 	WåŒ]Õ,Ð4JÐKÑKÔKð 	Xð 	XÝŒM˜' HÑ,°o°oÐRVÐWÑWÔWÐWð	Xð 	Xð 	Xñ 	Xô 	Xð 	Xð 	Xð 	Xð 	Xð 	Xð 	Xð 	Xøøøð 	Xð 	Xð 	Xð 	Xð 	Xð 	Xs#   œAÁAÁAÁ*BÂBÂBz-ignore:Cell A4 is marked:UserWarning:openpyxlc                óâ  — t          ||¦  «         t          t          j        d¦  «        dgt          j        d¦  «        dgddggddg¬	¦  «        }|d
k    r3|                     t
          j                             d¬¦  «        ¦  «         |€7|dv r3|                     t
          j                             d¬¦  «        ¦  «         t          j        d|z   ¦  «        }t          j
        ||¦  «         d S )Nz
2016-03-12zMarc Johnsonz
2016-03-16z
Jack Blackg@Œµx¯DzTimothy BrownÚDateColWithBigIntÚ	StringColr×   r   zMaybe not supported by openpyxlrT   )r   r   z)Defaults to openpyxl, maybe not supportedÚtestdateoverflow)rY   r   rb   rc  rV   r)   rW   rX   ra   rŸ   r    )rf   r7   r$   r   rK   r}   s         r%   Útest_date_conversion_overflowz)TestReaders.test_date_conversion_overflow  s  € õ 	$ F¨GÑ4Ô4Ð4åå”˜lÑ+Ô+¨^Ð<Ý”˜lÑ+Ô+¨\Ð:Ø�Ð'ðð
 )¨+Ð6ð
ñ 
ô 
ˆð �ZÒÐØ×ÒÝ”×!Ò!Ð)JÐ!ÑKÔKñô ð ð ˆ>˜hÐ*<Ð<Ð<à×ÒÝ”×!Ò!Ð)TÐ!ÑUÔUñô ð õ ”Ð1°HÑ<Ñ=Ô=ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   c                ó  — t          ||¦  «         d}d}|}t          |||¦  «         t          j        ||z   |d¬¦  «        }t          j        ||z   d|¬¦  «        }	t	          j        ||¦  «         t	          j        |	|¦  «         d S ©Nrv   r†   r   r³   )rB   r‡   rž   )
rf   r7   r   r$   rF   Úfilenamer‡   rK   r¡   r¢   s
             r%   Útest_sheet_namezTestReaders.test_sheet_name1  sž   € Ý# F¨GÑ4Ô4Ð4àˆØˆ
àˆÝ˜ (¨FÑ3Ô3Ð3åŒmØ�xÑ¨JÀ!ð
ñ 
ô 
ˆõ Œm˜H xÑ/¸1ÈÐTÑTÔTˆå
Ô˜c 8Ñ,Ô,Ð,Ý
Ô˜c 8Ñ,Ô,Ð,Ð,Ð,r'   c                óè   — d|z   }t          j        |dd¬¦  «        }t          |d¦  «        5 }t          j        |dd¬¦  «        }t          j        ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrv   r†   r   r³   rw   )rb   ra   rz   rŸ   r    )rf   r   ÚpthrK   r|   r  s         r%   Útest_excel_read_bufferz"TestReaders.test_excel_read_bufferB  sº   € Ø˜Ñ ˆÝ”= °ÀQÐGÑGÔGˆÝ�#�t‰_Œ_ð 	4 Ý”] 1°ÀQÐGÑGÔGˆFÝÔ! (¨FÑ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð 	4ð 	4s   ­-A'Á'A+Á.A+c                óž   — d}t          j        t          d¬¦  «        5  t          j        d|¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr€   zUnknown engine: foor„   r$  r_   r–   )rf   Ú
bad_engines     r%   Útest_bad_engine_raisesz"TestReaders.test_bad_engine_raisesI  s–   € Øˆ
ÝŒ]�:Ð-BÐCÑCÔCð 	1ð 	1ÝŒM˜" ZÐ0Ñ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð 	1ð 	1s   žAÁAÁ	Ar‡   r�   r   rÎ   r†   c                ó¤   — d}t          j        t          |¬¦  «        5  t          j        d|z   |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©Nz?Worksheet index 3 is invalid|Worksheet named 'Sheet4' not foundr„   rš  râ   r–   )rf   r   r‡   r�   s       r%   Útest_bad_sheetname_raisesz%TestReaders.test_bad_sheetname_raisesN  s±   € ð PˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	Eð 	EÝŒM˜' HÑ,¸ÐDÑDÔDÐDð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eó   žAÁA	ÁA	c                óÎ   — d|› �}d                      g d¢¦  «        }t          j        t          |¬¦  «        5  t	          j        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr€   ú|)z(No such file or directoryu   æ²¡æœ‰é‚£ä¸ªæ–‡ä»¶æˆ–ç›®å½•zFile o directory non esistente)r„   )Újoinr)   r‹   ÚFileNotFoundErrorrb   ra   )rf   r   Úbad_filer…   s       r%   Útest_missing_file_raisesz$TestReaders.test_missing_file_raisesX  s½   € Ø#˜Ð#Ð#ˆà—’ðð ð ñ
ô 
ˆõ Œ]Õ,°EÐ:Ñ:Ô:ð 	$ð 	$ÝŒM˜(Ñ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$ð 	$ð 	$s   ¸AÁAÁ!Ac                ó  — d}|€
t           }d}n+|dk    rddlm} |}d}n|dk    rddlm} |}d	}n	t
          }d
}t          j        ||¬¦  «        5  t          j	        t          |¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Ns   foozLExcel file format cannot be determined, you must specify an engine manually.r   r   )Ú	XLRDErrorzFUnsupported format, or corrupt file: Expected BOF record; found b'foo'r   ©ÚCalamineErrorzCannot detect file formatzFile is not a zip filer„   )r—   r   rÀ  r   rÂ  r
   r)   r‹   rb   ra   r   )rf   r$   Ú
bad_streamÚerrorr�   rÀ  rÂ  s          r%   Útest_corrupt_bytes_raisesz%TestReaders.test_corrupt_bytes_raisese  s  € Øˆ
Øˆ>ÝˆEð.ð ˆCð �vÒÐØ&Ð&Ð&Ð&Ð&Ð&àˆEð'ð ˆCð �zÒ!Ð!Ø5Ð5Ð5Ð5Ð5Ð5à!ˆEØ-ˆCˆCåˆEØ*ˆCÝŒ]˜5¨Ð,Ñ,Ô,ð 	/ð 	/ÝŒM�' *Ñ-Ô-Ñ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	/ð 	/s   Á"A?Á?BÂBc                ó6  — t          d|z   d¦  «        5 }|                     |                     ¦   «         ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        |j        ¦  «        }t          j        d|z   ¦  «        }t          j        ||¦  «         d S )Nrv   rw   )Úcontent)rz   Úserve_contentÚreadrb   ra   ÚurlrŸ   r    )rf   Ú
httpserverr   r|   Ú	url_tableÚlocal_tables         r%   Útest_read_from_http_urlz#TestReaders.test_read_from_http_url€  sÈ   € õ �'˜HÑ$ dÑ+Ô+ð 	7¨qØ×$Ò$¨Q¯VªV©X¬XÐ$Ñ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7å”M *¤.Ñ1Ô1ˆ	Ý”m G¨hÑ$6Ñ7Ô7ˆÝ
Ô˜i¨Ñ5Ô5Ð5Ð5Ð5s   ”)A	Á	AÁAc                ó0  — t          d|z   d¦  «        5 }|                     d|z   |¬¦  «         d d d ¦  «         n# 1 swxY w Y   d|j        › d�|z   }t          j        ||¬¦  «        }t          j        d|z   ¦  «        }t          j        ||¦  «         d S )Nrv   rw   ©ÚKeyÚBodyús3://ú/test1)Ústorage_options)rz   Ú
put_objectrO   rb   ra   rŸ   r    )rf   r   Ús3_public_bucketÚs3sor|   rÊ  rÌ  rÍ  s           r%   Útest_read_from_s3_urlz!TestReaders.test_read_from_s3_url‰  sõ   € õ �'˜HÑ$ dÑ+Ô+ð 	H¨qØ×'Ò'¨G°hÑ,>ÀQÐ'ÑGÔGÐGð	Hð 	Hð 	Hñ 	Hô 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Høøøð 	Hð 	Hð 	Hð 	Hð 4Ð&Ô+Ð3Ð3Ð3°hÑ>ˆå”M #°tÐ<Ñ<Ô<ˆ	Ý”m G¨hÑ$6Ñ7Ô7ˆÝ
Ô˜i¨Ñ5Ô5Ð5Ð5Ð5s   ”;»?Á?c                ó¤  — t          d|z   d¦  «        5 }|                     d|z   |¬¦  «         d d d ¦  «         n# 1 swxY w Y   dd l} |j        di |¤Ž}|                      d|j        › d�|z   ¦  «        5 }t          j        |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        d|z   ¦  «        }t          j        ||¦  «         d S )Nrv   rw   rÐ  r   rÓ  rÔ  r.   )	rz   rÖ  Ús3fsÚS3FileSystemrO   rb   ra   rŸ   r    )	rf   r   r×  rØ  r|   rÛ  Ús3rÌ  rÍ  s	            r%   Útest_read_from_s3_objectz$TestReaders.test_read_from_s3_object–  ss  € õ �'˜HÑ$ dÑ+Ô+ð 	H¨qØ×'Ò'¨G°hÑ,>ÀQÐ'ÑGÔGÐGð	Hð 	Hð 	Hñ 	Hô 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Høøøð 	Hð 	Hð 	Hð 	Hð 	ˆˆˆàˆTÔÐ&Ð& Ð&Ð&ˆà�WŠWÐ:Ð-Ô2Ð:Ð:Ð:¸XÑEÑFÔFð 	)È!Ýœ aÑ(Ô(ˆIð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)õ ”m G¨hÑ$6Ñ7Ô7ˆÝ
Ô˜i¨Ñ5Ô5Ð5Ð5Ð5s   ”;»?Á?Á8BÂBÂ Bc                ó¤  — t           j                              |ddd¦  «        d|z   ¦  «        }t          j        |¦  «        }	 t          j        d|z   ¦  «        }n_# t
          $ rR d                     t          j        ¦   «         ¦  «                             ¦   «         }t          j
        d|› �¦  «         Y nw xY wt          j        ||¦  «         d S )Nr>   r?   r`   rv   zfile://localhost/ú zfailing on )ÚosÚpathr»  rb   ra   r	   ÚplatformÚunameÚstripr)   ra  rŸ   r    )rf   r   rD   Ú
localtablerÍ  rÌ  Úplatform_infos          r%   Útest_read_from_file_urlz#TestReaders.test_read_from_file_url§  sÑ   € õ ”W—\’\ ( (¨4°¸Ñ"AÔ"AÀ7ÈXÑCUÑVÔVˆ
Ý”m JÑ/Ô/ˆð	7ÝœÐ&9¸JÑ&FÑGÔGˆIˆIøÝð 	7ð 	7ð 	7àŸHšH¥X¤^Ñ%5Ô%5Ñ6Ô6×<Ò<Ñ>Ô>ˆMÝŒKÐ5 mÐ5Ð5Ñ6Ô6Ð6Ð6Ð6ð	7øøøõ
 	Ô˜i¨Ñ5Ô5Ð5Ð5Ð5s   ÁA ÁAB8Â7B8c                óº   — d|z   }t          j        |dd¬¦  «        }t          d|z   ¦  «        }t          j        |dd¬¦  «        }t          j        ||¦  «         d S r²   )rb   ra   r   rŸ   r    )rf   r   Ústr_pathrK   Úpath_objr  s         r%   Útest_read_from_pathlib_pathz'TestReaders.test_read_from_pathlib_path¶  sc   € à˜XÑ%ˆÝ”= °hÈ!ÐLÑLÔLˆå˜ (Ñ*Ñ+Ô+ˆÝ”˜x°HÈÐJÑJÔJˆå
Ô˜h¨Ñ/Ô/Ð/Ð/Ð/r'   zpy.pathc                ó  — ddl m} t          j                             d|z   ¦  «        }t          j        |dd¬¦  «        } |¦   «                              d|z   ¦  «        }t          j        |dd¬¦  «        }t          j        ||¦  «         d S )Nr   )Úlocalrv   r†   r³   )	Úpy.pathrî  rá  râ  r»  rb   ra   rŸ   r    )rf   r   Ú	LocalPathrê  rK   rë  r  s          r%   Útest_read_from_py_localpathz'TestReaders.test_read_from_py_localpathÀ  s‘   € ð 	/Ð.Ð.Ð.Ð.Ð.å”7—<’< ¨(Ñ 2Ñ3Ô3ˆÝ”= °hÈ!ÐLÑLÔLˆà�9‘;”;×#Ò# G¨hÑ$6Ñ7Ô7ˆÝ”˜x°HÈÐJÑJÔJˆå
Ô˜h¨Ñ/Ô/Ð/Ð/Ð/r'   c                óô   — t           j                             d|z   ¦  «        }t          |d¦  «        5 }t	          j        |dd¬¦  «        }~|                     ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nrv   rw   r†   r   r³   )rá  râ  r»  rz   rb   ra   rÉ  )rf   r   rê  r|   rÑ   s        r%   Útest_close_from_py_localpathz(TestReaders.test_close_from_py_localpathÍ  s±   € å”7—<’< ¨(Ñ 2Ñ3Ô3ˆÝ�(˜DÑ!Ô!ð 	 QÝ”˜a¨HÀÐBÑBÔBˆAØà�FŠF‰HŒHˆHð		ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ³-A-Á-A1Á4A1c                óú  — t          ||¦  «         |dk    r9|dk    r3|                     t          j                             d¬¦  «        ¦  «         t          j        d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i¦  «        }t          j	        d+|z   d,¬-¦  «        }t          j        ||¦  «         t          j	        d.|z   d,¬-¦  «        }t          j        ||¦  «         d S )/Nr   r   z0ODS file contains bad datetime (seconds as text)rT   ÚTimerx   r�   r�   é-   é8   i † rø   é   é1   i@ rN  é   é*   ià“ é   é9   é#   i€ é	   é)   é   i ¡ é   é   é   iÀ'	 r  i`®
 é5   i 5 é   é%   r   i » é   é   é6   Ú
times_1900r†   râ   Ú
times_1904)rY   rV   r)   rW   rX   r   r  r   rb   ra   rŸ   r    )rf   r7   r$   r   rK   r  s         r%   Útest_reader_secondszTestReaders.test_reader_secondsÖ  s”  € Ý# F¨GÑ4Ô4Ð4ð �ZÒÐ H°Ò$6Ð$6Ø×ÒÝ”×!Ò!ØMð "ñ ô ñô ð õ Ô&àÝ˜˜A˜q‘M”MÝ˜˜B  FÑ+Ô+Ý˜˜B  FÑ+Ô+Ý˜˜B  FÑ+Ô+Ý˜˜B  FÑ+Ô+Ý˜˜B  FÑ+Ô+Ý˜˜R  VÑ,Ô,Ý˜˜Q  FÑ+Ô+Ý˜˜R  FÑ+Ô+Ý˜˜R  FÑ+Ô+Ý˜˜R Ñ$Ô$ððñ
ô 
ˆõ$ ”˜|¨hÑ6À8ÐLÑLÔLˆÝ
Ô˜f hÑ/Ô/Ð/å”˜|¨hÑ6À8ÐLÑLÔLˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   c           
     ó|  — t          ||¦  «         t          ||¦  «        }t          j        ddgddgg¦  «        }d|z   }t	          ddt          j        d¦  «        d	gd
dt          j        d¦  «        dgddt          j        d¦  «        dgddt          j        d¦  «        d	gg|¬¦  «        }||d
                                       d|› d�¦  «        ||d
         <   t          j        |dddgd¬¦  «        }t          j
        ||¦  «         ||_        g d¢|_        t          j        |dddg¬¦  «        }t          j
        ||¦  «         ||_        t          j        |dddgddg¬¦  «        }t          j
        ||¦  «         g d¢|_        |                     dd g¦  «        |_        t          j        |d!ddg¬¦  «        }t          j
        ||¦  «         t          t          d¦  «        ¦  «        |_        |                     d"d#g¦  «        |_        t          j        |d$ddgd¬¦  «        }t          j
        ||¦  «         |                     dd
gd¬%¦  «                             d"d#g¦  «        |_        t          j        |d&dddg¬¦  «        }t          j
        ||¦  «         |                     d"d#g¦  «        |_        |                     dd g¦  «        |_        t          j        |d'ddgddg¬¦  «        }t          j
        ||¦  «         t          j        |d(ddgddgd
¬)¦  «        }t          j
        ||¦  «         d S )*Nr€   ÚbarrÐ   rÓ   Útestmultiindexrx   r0  ú
2015-01-01Tr�   r1  ú
2015-01-02Fr�   r2  ú
2015-01-03rø   r3  ú
2015-01-04r×   r  r  Ú	mi_columnr   )r‡   r¡  rB   r7  Úmi_indexr³   Úboth©r‡   rB   r¡  Úilvl1Úilvl2Úmi_index_nameÚc1Úc2Úmi_column_name)ÚlevelÚname_with_intÚ	both_nameÚboth_name_skiprows)r‡   rB   r¡  r•   )rY   rJ   r   Úfrom_productr   rb   rc  r@  ra   rŸ   r    rN   rÄ   Ú	set_namesrŽ  r®   Ú
set_levels)	rf   r7   r$   r   rQ   ÚmiÚmi_filerK   r  s	            r%   Útest_read_excel_multiindexz&TestReaders.test_read_excel_multiindexú  s‹  € å# F¨GÑ4Ô4Ð4å˜H fÑ-Ô-ˆåÔ$ u¨e n°s¸C°jÐ%AÑBÔBˆØ" XÑ-ˆõ à�C�œ lÑ3Ô3°TÐ:Ø�C�œ lÑ3Ô3°UÐ;Ø�C�œ lÑ3Ô3°UÐ;Ø�C�œ lÑ3Ô3°TÐ:ð	ð ð
ñ 
ô 
ˆð # 2 a¤5œ/×0Ò0°°t°°°Ñ?Ô?ˆ��A”‰å”Ø °Q¸°FÀað
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/ð ˆŒØ/Ð/Ð/ˆÔå”˜w°:È!ÈQÈÐPÑPÔPˆÝ
Ô˜f hÑ/Ô/Ð/ð ˆÔå”Ø °1°a°&À!ÀQÀð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/ð 0Ð/Ð/ˆÔØŸš w°Ð&8Ñ9Ô9ˆŒå”˜w°?ÈqÐRSÈfÐUÑUÔUˆÝ
Ô˜f hÑ/Ô/Ð/õ �e A™hœh™œˆŒØŸ<š<¨¨t¨Ñ5Ô5ˆÔÝ”ØÐ 0¸!¸Q¸È1ð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/ð Ÿ=š=¨!¨Q¨°q˜=Ñ9Ô9×CÒCÀTÈ4ÀLÑQÔQˆÔå”Ø ¸1ÀaÈÀVð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/ð Ÿ<š<¨¨t¨Ñ5Ô5ˆÔØŸš w°Ð&8Ñ9Ô9ˆŒå”Ø ¸¸1°vÀqÈ!Àfð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/õ ”ØØ+Ø˜!�fØ�q�6Øð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   zsheet_name,idx_lvl2Úboth_name_blank_after_mi_namerÓ   rÐ   Úboth_name_multiple_blanksrø   c           
     óZ  — t          ||¦  «         d|z   }t          j        ddgddggddg¬¦  «        }t          ||¦  «        }t	          d	d
t          j        d¦  «        dgddt          j        d¦  «        dgddt          j        d¦  «        dgddt          j        d¦  «        dgg|t          j        g d¢|fddg¬¦  «        ¬¦  «        }	|	|d                                       d|› d�¦  «        |	|d         <   t          j	        ||dd	gdd	g¬¦  «        }
t          j        |
|	¦  «         d S )Nr  r€   r  rÐ   rÓ   r  r  ©rË   rx   r0  r  Tr�   r1  r  Fr�   r2  r  rø   r3  r  )r€   r€   r  r  r  r  rÃ   r  r  r   r  )rY   r   r#  rJ   r   rb   rc  Úfrom_arraysr@  ra   rŸ   r    )rf   r7   r$   r   r‡   Úidx_lvl2r'  r&  rQ   rK   r}   s              r%   Ú+test_read_excel_multiindex_blank_after_namez7TestReaders.test_read_excel_multiindex_blank_after_nameN  sg  € õ 	$ F¨GÑ4Ô4Ð4à" XÑ-ˆÝÔ$ u¨e n°s¸C°jÐ%AÈ$ÐPTÈÐVÑVÔVˆå˜H fÑ-Ô-ˆåà�C�œ lÑ3Ô3°TÐ:Ø�C�œ lÑ3Ô3°UÐ;Ø�C�œ lÑ3Ô3°UÐ;Ø�C�œ lÑ3Ô3°TÐ:ð	ð ÝÔ(Ø-Ð-Ð-¨xÐ8Ø Ð(ðñ ô ð
ñ 
ô 
ˆð # 2 a¤5œ/×0Ò0°°t°°°Ñ?Ô?ˆ��A”‰Ý”ØØ!Ø˜!�fØ�q�6ð	
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   c                óÆ   — d|z   }t          j        |dddg¬¦  «        }t          j        ddg¦  «        }t	          g d¢gd	z  |¬
¦  «        }t          j        ||¦  «         d S )Nr  Úindex_col_noner   rx   ©r‡   r¡  ©r¦   r›   ©ÚkeyÚvalr.  r�   r×   )rb   ra   r   r#  r   rŸ   r    )rf   r   r'  r}   Úexp_columnsrK   s         r%   Ú&test_read_excel_multiindex_header_onlyz2TestReaders.test_read_excel_multiindex_header_onlyv  su   € ð # XÑ-ˆÝ”˜wÐ3CÈQÐPQÈFÐSÑSÔSˆå Ô-¨z¸>Ð.JÑKÔKˆÝ˜l˜l˜l˜^¨aÑ/¸ÐEÑEÔEˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   c           	     óÂ  — d|z   }t          j        t           j        t           j        t           j        t           j        t           j        gg d¢g d¢g d¢g d¢g d¢gt          ¬¦  «        }g d¢}t	          g d	¢g d
¢gg d¢g d¢gd d g¬¦  «        }t          g d	¢d ¬¦  «        }t          |||¬¦  «        }t          j        |dd¬¦  «        }t          j
        ||¦  «         ||_        t          j        |dddg¬¦  «        }t          j
        ||¦  «         t          j        g d¢g d¢g d¢g d¢g d¢g¦  «        }g d¢}t	          g d¢g d¢gg d¢g d¢gd d g¬¦  «        }t          g d¢d ¬¦  «        }t          |||¬¦  «        }t          j        |dd¬¦  «        }t          j
        ||¦  «         ||_        t          j        |dddg¬¦  «        }t          j
        ||¦  «         d S )NÚtest_index_name_pre17)ÚR0C0ÚR0C1ÚR0C2ÚR0C3ÚR0C4)ÚR1C0ÚR1C1ÚR1C2ÚR1C3ÚR1C4)ÚR2C0ÚR2C1ÚR2C2ÚR2C3ÚR2C4)ÚR3C0ÚR3C1ÚR3C2ÚR3C3ÚR3C4)ÚR4C0ÚR4C1ÚR4C2ÚR4C3ÚR4C4r  )ÚC_l0_g0ÚC_l0_g1ÚC_l0_g2ÚC_l0_g3ÚC_l0_g4)ÚR0ÚR_l0_g0ÚR_l0_g1ÚR_l0_g2ÚR_l0_g3ÚR_l0_g4)ÚR1ÚR_l1_g0ÚR_l1_g1ÚR_l1_g2ÚR_l1_g3ÚR_l1_g4)r   rx   r�   r�   rø   rù   rÈ   rÂ   ©rN   rÄ   Úsingle_namesr   r³   Úmulti_namesrx   )rZ  r[  r\  r]  r^  )r`  ra  rb  rc  rd  )r   rx   r�   r�   rø   Úsingle_no_namesÚmulti_no_names)rì   r[  rí   rz  r   r   r   rb   ra   rŸ   r    rN   )	rf   r   r­  r?   rÄ   r&  ÚsirK   r  s	            r%   Útest_excel_old_index_formatz'TestReaders.test_excel_old_index_format�  s�  € à*¨XÑ5ˆõ
 Œxå”�œ¥¤­¬µ´Ð8Ø8Ð8Ð8Ø8Ð8Ð8Ø8Ð8Ð8Ø8Ð8Ð8Ø8Ð8Ð8ðõ ð

ñ 

ô 

ˆð JÐIÐIˆÝàMÐMÐMØMÐMÐMðð &Ð%Ð%Ð'9Ð'9Ð'9Ð:Ø˜�,ð
ñ 
ô 
ˆõ ØIÐIÐIÐPTð
ñ 
ô 
ˆõ ˜T¨°WÐ=Ñ=Ô=ˆå”˜x°NÈaÐPÑPÔPˆÝ
Ô˜f hÑ/Ô/Ð/àˆŒå”˜x°MÈaÐQRÈVÐTÑTÔTˆÝ
Ô˜f hÑ/Ô/Ð/õ Œxà8Ð8Ð8Ø8Ð8Ð8Ø8Ð8Ð8Ø8Ð8Ð8Ø8Ð8Ð8ðñ
ô 
ˆð JÐIÐIˆÝàGÐGÐGØGÐGÐGðð #�?�? O O OÐ4Ø˜�,ð
ñ 
ô 
ˆõ ÐJÐJÐJÐQUÐVÑVÔVˆå˜T¨°WÐ=Ñ=Ô=ˆå”˜xÐ4EÐQRÐSÑSÔSˆÝ
Ô˜f hÑ/Ô/Ð/àˆŒå”˜xÐ4DÐQRÐTUÐPVÐWÑWÔWˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   c                ó¬   — d}dD ]N}t          j        t          |¬¦  «        5  t          j        d|z   |¬¦  «         d d d ¦  «         n# 1 swxY w Y   ŒOd S )Nz#Passing a bool to header is invalid)TFr„   rv   ©r¡  r¼   )rf   r   r�   Úargs       r%   Útest_read_excel_bool_header_argz+TestReaders.test_read_excel_bool_header_argÊ  s¥   € à3ˆØ ð 	>ð 	>ˆCÝ”�y°Ð4Ñ4Ô4ð >ð >Ý”˜g¨Ñ0¸Ð=Ñ=Ô=Ð=ð>ð >ð >ñ >ô >ð >ð >ð >ð >ð >ð >øøøð >ð >ð >ð >øð	>ð 	>s   ¢AÁA	ÁA	c           
     ó  — t          ||¦  «         t          ||¦  «        }t          j        d|z   dddg¬¦  «        }t	          ddt          j        d¦  «        d	gdd
t          j        d¦  «        dgddt          j        d¦  «        dgddt          j        d¦  «        d	ggg d¢¬¦  «        }|d                              d|› d�¦  «        |d<   t          j        ||¦  «         t          j        d|z   dt          j
        ddg¦  «        ¬¦  «        }t          j        ||¦  «         t          j        d|z   dd„ ¬¦  «        }t          j        ||¦  «         t          j        d|z   ddg d¢¬¦  «        }t	          dd
t          j        d¦  «        dgddt          j        d¦  «        dgddt          j        d¦  «        d	ggg d¢¬¦  «        }|d                              d|› d�¦  «        |d<   t          j        ||¦  «         d S )NÚtestskiprowsÚskiprows_listr   r�   ©r‡   r•   rx   r0  r  Tr1  r  Fr�   r2  r  rø   r3  r  r7  r×   rú   r  r  c                ó
   — | dv S ©N)r   r�   r.   r&  s    r%   r'  z6TestReaders.test_read_excel_skiprows.<locals>.<lambda>ñ  s
   € ˜q F˜{€ r'   )r‡   r•   rË   )rY   rJ   rb   ra   r   rc  r@  rŸ   r    rì   r[  ©rf   r7   r$   r   rQ   r  rK   s          r%   Útest_read_excel_skiprowsz$TestReaders.test_read_excel_skiprowsÑ  sX  € å# F¨GÑ4Ô4Ð4å˜H fÑ-Ô-ˆå”Ø˜XÑ%°/ÈQÐPQÈFð
ñ 
ô 
ˆõ à�C�œ lÑ3Ô3°TÐ:Ø�C�œ lÑ3Ô3°UÐ;Ø�C�œ lÑ3Ô3°UÐ;Ø�C�œ lÑ3Ô3°TÐ:ð	ð )Ð(Ð(ð
ñ 
ô 
ˆð ! œ×,Ò,¨]°4¨]¨]¨]Ñ;Ô;ˆ�‰Ý
Ô˜f hÑ/Ô/Ð/å”Ø˜XÑ%Ø&Ý”X˜q !˜fÑ%Ô%ð
ñ 
ô 
ˆõ
 	Ô˜f hÑ/Ô/Ð/õ ”Ø˜XÑ%Ø&Ø*Ð*ð
ñ 
ô 
ˆõ
 	Ô˜f hÑ/Ô/Ð/å”Ø˜XÑ%Ø&ØØ&Ð&Ð&ð	
ñ 
ô 
ˆõ ð �C�œ lÑ3Ô3°UÐ;Ø�C�œ lÑ3Ô3°UÐ;Ø�C�œ lÑ3Ô3°TÐ:ð	ð )Ð(Ð(ð
ñ 
ô 
ˆð ! œ×,Ò,¨]°4¨]¨]¨]Ñ;Ô;ˆ�‰Ý
Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   c                ól  — t          ||¦  «         t          ||¦  «        }t          j        d|z   dd„ ¬¦  «        }t	          ddt          j        d¦  «        dgd	d
t          j        d¦  «        dggg d¢¬¦  «        }|d                              d|› d�¦  «        |d<   t          j        ||¦  «         d S )Nrq  rr  c                ó
   — | dvS )N)rx   r�   rù   r.   r&  s    r%   r'  zFTestReaders.test_read_excel_skiprows_callable_not_in.<locals>.<lambda>  s   € ˜q¨	Ð1€ r'   rs  rx   r0  r  Tr�   r2  r  Fr7  r×   rú   r  r  )	rY   rJ   rb   ra   r   rc  r@  rŸ   r    rv  s          r%   Ú(test_read_excel_skiprows_callable_not_inz4TestReaders.test_read_excel_skiprows_callable_not_in  sØ   € å# F¨GÑ4Ô4Ð4Ý˜H fÑ-Ô-ˆå”Ø˜XÑ%Ø&Ø1Ð1ð
ñ 
ô 
ˆõ
 à�C�œ lÑ3Ô3°TÐ:à�C�œ lÑ3Ô3°UÐ;ðð )Ð(Ð(ð
ñ 
ô 
ˆð ! œ×,Ò,¨]°4¨]¨]¨]Ñ;Ô;ˆ�‰Ý
Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   c                ó¨   — d}t          j        d|z   |¬¦  «        }t          j        d|z   ¦  «        }|d |…         }t          j        ||¦  «         d S )Nrù   rv   ©ÚnrowsrD  )rf   r   Únum_rows_to_pullr  rK   s        r%   Útest_read_excel_nrowsz!TestReaders.test_read_excel_nrows  s`   € àÐÝ”˜w¨Ñ1Ð9IÐJÑJÔJˆÝ”= ¨8Ñ!3Ñ4Ô4ˆØÐ-Ð-Ð-Ô.ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   c                ó¸   — t          j        d|z   ¦  «        }t          |¦  «        }|dz   }t          j        d|z   |¬¦  «        }t          j        ||¦  «         d S )Nrv   rý   r|  )rb   ra   r¯   rŸ   r    )rf   r   rK   Únum_records_in_filer~  r  s         r%   Ú0test_read_excel_nrows_greater_than_nrows_in_filez<TestReaders.test_read_excel_nrows_greater_than_nrows_in_file%  s`   € å”= ¨8Ñ!3Ñ4Ô4ˆÝ! (™mœmÐØ.°Ñ3ÐÝ”˜w¨Ñ1Ð9IÐJÑJÔJˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   c                ó¤   — d}t          j        t          |¬¦  «        5  t          j        d|z   d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz'nrows' must be an integer >=0r„   rv   r"  r|  r–   r˜   s      r%   Ú+test_read_excel_nrows_non_integer_parameterz7TestReaders.test_read_excel_nrows_non_integer_parameter-  sš   € à.ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	9ð 	9ÝŒM˜' HÑ,°CÐ8Ñ8Ô8Ð8ð	9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9ð 	9ð 	9r¸  z-filename,sheet_name,header,index_col,skiprowsr  r  r  r  r  rq  rr  c                ó
   — | dv S ru  r.   r&  s    r%   r'  zTestReaders.<lambda>;  s
   € ÀAÈÀK€ r'   c                ó¼   — t          j        ||z   ||||¬¦  «        j        dd…         }t          j        ||z   ||||d¬¦  «        }t          j        ||¦  «         dS )z—
        For various parameters, we should get the same result whether we
        limit the rows during load (nrows=3) or after (df.iloc[:3]).
        )r‡   r¡  rB   r•   Nr�   )r‡   r¡  rB   r•   r}  )rb   ra   rô   rŸ   r    )	rf   r   r­  r‡   r¡  rB   r•   rK   r  s	            r%   Útest_read_excel_nrows_paramsz(TestReaders.test_read_excel_nrows_params3  sˆ   € õ& ”=Ø�xÑØ!ØØØð
ñ 
ô 
ô ˆr�ˆrôˆõ ”Ø�xÑØ!ØØØØð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   c                ó    — t          j        t          d¬¦  «        5  t          j        d|z   dd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzbut 3 positional argumentsr„   rv   r†   r   r¼   r¤  s     r%   Útest_deprecated_kwargsz"TestReaders.test_deprecated_kwargsW  s•   € ÝŒ]�9Ð,HÐIÑIÔIð 	;ð 	;ÝŒM˜' HÑ,¨h¸Ñ:Ô:Ð:ð	;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øøøð 	;ð 	;ð 	;ð 	;ð 	;ð 	;s   œAÁAÁ
Ac                óÊ   — d|z   }g d¢}t          j        g d¢d¬¦  «        }t          ||d¬¦  «        }t          j        |dd	d
gd ¬¦  «        }t          j        ||¦  «         d S )Nr  ))r›   r›   r4  ©r�   rø   r‹  ))r¦   r¦   r4  ©rx   r�   rŒ  )r   rx   r,  )r�   r�   re  r1  r   rx   r  )r   Úfrom_tuplesr   rb   ra   rŸ   r    )rf   r   Ú	file_namer?   ÚidxrK   r}   s          r%   Ú"test_no_header_with_list_index_colz.TestReaders.test_no_header_with_list_index_col[  sŽ   € à$ xÑ/ˆ	Ø;Ð;Ð;ˆÝÔ$Ø8Ð8Ð8Àð
ñ 
ô 
ˆõ ˜T¨°fÐ=Ñ=Ô=ˆÝ”ØÐ"2¸qÀ!¸fÈTð
ñ 
ô 
ˆõ 	Ô˜h¨Ñ/Ô/Ð/Ð/Ð/r'   c                ó¦   — d|z   }dt           j        ddg}t          |dg¬¦  «        }t          j        |¦  «        }t          j        ||¦  «         d S )NÚone_col_blank_lineg      à?rx   r�   Únumbersr×   )rì   rí   r   rb   ra   rŸ   r    )rf   r   rŽ  r?   rK   r}   s         r%   Útest_one_col_noskip_blank_linez*TestReaders.test_one_col_noskip_blank_lineh  sX   € à(¨8Ñ3ˆ	Ø•R”V˜Q Ð"ˆÝ˜T¨I¨;Ð7Ñ7Ô7ˆÝ”˜yÑ)Ô)ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   c                ó&  — d|z   }t          j        ddg¦  «        }t          j        t          j        gt          j        t          j        gddgddgg}t	          ||¬¦  «        }t          j        |d	d
dg¬¦  «        }t          j        ||¦  «         d S )Nr  )rÐ   r¦   )rÓ   r›   rx   r�   r�   rø   r×   Úmi_column_empty_rowsr   r2  )	r   r�  rì   rí   r   rb   ra   rŸ   r    )rf   r   rŽ  rÄ   r?   rK   r}   s          r%   Ú test_multiheader_two_blank_linesz,TestReaders.test_multiheader_two_blank_linesp  s˜   € à$ xÑ/ˆ	ÝÔ(¨*°jÐ)AÑBÔBˆÝ”�œÐ ¥2¤6­2¬6Ð"2°Q¸°F¸QÀ¸FÐCˆÝ˜T¨7Ð3Ñ3Ô3ˆÝ”ØÐ"8À!ÀQÀð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   c                óR   — d|z   }t          j        |¦  «        }|j        dk    sJ ‚dS )z›
        Sheets can contain blank cells with no data. Some of our readers
        were including those cells, creating many empty rows and columns
        Útrailing_blanks)r�   r�   N)rb   ra   Úshape)rf   r   rŽ  r}   s       r%   Útest_trailing_blanksz TestReaders.test_trailing_blanks{  s6   € ð
 &¨Ñ0ˆ	Ý”˜yÑ)Ô)ˆØŒ|˜vÒ%Ð%Ð%Ð%Ð%Ð%r'   c                óF  — |dk    rt          j        d¦  «         |dk    r3|                     t           j                             d¬¦  «        ¦  «         t          j        t          d¬¦  «        5  t          j        d|z   d	¬
¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   ú*chartsheets do not exist in the ODF formatr   ú4pyxlsb can't distinguish chartsheets from worksheetsrT   z"Worksheet named 'Chart1' not foundr„   Ú
chartsheetÚChart1râ   ©	r)   ra  rV   rW   rX   r‹   r—   rb   ra   ©rf   r7   r$   r   s       r%   Útest_ignore_chartsheets_by_strz*TestReaders.test_ignore_chartsheets_by_str„  s  € à�vÒÐÝŒKÐDÑEÔEÐEØ�XÒÐØ×ÒÝ”×!Ò!ØQð "ñ ô ñô ð õ
 Œ]�:Ð-QÐRÑRÔRð 	Hð 	HÝŒM˜,¨Ñ1¸hÐGÑGÔGÐGð	Hð 	Hð 	Hñ 	Hô 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Høøøð 	Hð 	Hð 	Hð 	Hð 	Hð 	Hó   Á/BÂBÂBc                óF  — |dk    rt          j        d¦  «         |dk    r3|                     t           j                             d¬¦  «        ¦  «         t          j        t          d¬¦  «        5  t          j        d|z   d	¬
¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r�  r   rž  rT   z0Worksheet index 1 is invalid, 1 worksheets foundr„   rŸ  rx   râ   r¡  r¢  s       r%   Útest_ignore_chartsheets_by_intz*TestReaders.test_ignore_chartsheets_by_int‘  s  € à�vÒÐÝŒKÐDÑEÔEÐEØ�XÒÐØ×ÒÝ”×!Ò!ØQð "ñ ô ñô ð õ
 Œ]ÝÐPð
ñ 
ô 
ð 	Að 	Aõ ŒM˜,¨Ñ1¸aÐ@Ñ@Ô@Ð@ð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Að 	Að 	Ar¤  c                óœ   — t          j        d|z   dd¬¦  «        }t          g d¢g d¢g d¢gg d¢¬	¦  «        }t          j        ||¦  «         d S )
NÚtest_decimalú,rx   )Údecimalr•   )rx   gAñcÌ�Ä—@gÕ	h¢ïÖAÚABCÚpoig2Ø[j‡ô@)r�   gHáz®G^@g{®GáÍ@ÚDEFÚuytg¥Uq&Ø?)r�   g%�•Cq‹@gçû©ñÖ^ú@ÚGHIÚrezgÈ)¬ç³â@)ÚIdÚNumber1ÚNumber2ÚText1ÚText2ÚNumber3r×   rç   rÅ   s       r%   Útest_euro_decimal_formatz$TestReaders.test_euro_decimal_format   sy   € å”˜~°Ñ8À#ÐPQÐRÑRÔRˆÝàFÐFÐFØ@Ð@Ð@ØCÐCÐCðð
 NÐMÐMð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r'   )YÚ__name__Ú
__module__Ú__qualname__r)   Úfixtureri   r~   rŽ   r™   r£   r¨   rW   Úparametrizerª   r°   rµ   r·   r¹   r½   rÆ   rÌ   rÙ   rÜ   rß   ré   rî   rõ   r  r+  rA  r   rì   rí   r   r   rE  rk  ro  rv  r  rƒ  r†  r’  r•  r˜  r›  rŸ  r¥  Úfilterwarningsrª  r®  r±  r´  r·  r¾  rÅ  ÚnetworkÚ
single_cpurÎ  ÚtdÚskip_if_not_us_localerÙ  rÞ  Úslowrè  rì  Ú
skip_if_norñ  ró  r  r(  r/  r8  rk  ro  rw  rz  r  r‚  r„  r‡  r‰  r�  r”  r—  r›  r£  r¦  r·  r.   r'   r%   r[   r[   ™   se  € € € € € Ø€V„^˜DÐ!Ñ!Ô!ð4ð 4ñ "Ô!ð4ð"ð "ð "ð0ð ð ð4ð ð ð$-ð -ð -ð*1-ð 1-ð 1-ðf „[×ÒØ�I�I�I˜y˜y˜y¨)¨)¨)°Y°Y°YÀ	À	À	È9È9È9ÐUñô ð0ð 0ñô ð0ð „[×Ò˜Y¨#¨s¨°c¸3°ZÐ(@ÑAÔAð0ð 0ñ BÔAð0ð0ð 0ð 0ð	0ð 	0ð 	0ðSð Sð Sð	ð 	ð 	ð0ð 0ð 0ð	0ð 	0ð 	0ð „[×Ò˜[¨4°¨)Ñ4Ô4ð0ð 0ñ 5Ô4ð0ð=ð =ð =ðAð Að Að0ð 0ð 0ð
0ð 0ð 0ð2ð 2ð 2ð&/0ð /0ð /0ðd0ð 0ð 0ð4Eð Eð Eð: „[×ÒØð Ø�	à)˜\˜\Ø1Ð1Ð1Ø)˜\˜\Ø! 3¨¬°Ð4ð	ð ñô ð
ð   i°cÀÐDÐDØ�	à#˜V L L L¸	ÐBÑBÔBØ#˜VÐ$8Ð$8Ð$8À	ÐJÑJÔJØ#˜VÐ$@Ð$@Ð$@ÈÐNÑNÔNØ#˜V S¨#¨r¬v°sÐ$;À5ÐIÑIÔIð	ð ñô ð
ð	
ñô ð60ð 0ñ7ô ð60ð.0ð .0ð .0ð`*ð *ð *ð Mð Mð Mð: „[×ÒÐ0°B¸°7¸eÀWÐ=MÈqÐ<QÐ2RÑSÔSð0ð 0ñ TÔSð0ð 0ð 0ð 0ð& „[×ÒØà˜˜ H¨z¨lÐ#;Ñ<Ô<Ð=Ø˜˜¨L¨>Ð:Ñ:Ô:Ð;ð	
ñô ð0ð 0ñô ð0ð1ð 1ð 1ð5ð 5ð 5ð:ð :ð :ð3ð 3ð 3ð0ð 0ð 0ð
Xð Xð Xð „[×ÒÐ OÑPÔPð0ð 0ñ QÔPð0ð6-ð -ð -ð"4ð 4ð 4ð1ð 1ð 1ð
 „[×ÒØØ	
ˆQ�ˆF�Q˜�F˜H x°Ð&:¸XÀxÐ<PÐQñô ðEð Eñ	ô ðEð$ð $ð $ð/ð /ð /ð6 „[ÔØ„[Ôð6ð 6ñ Ôñ Ôð6ð ÔØ„[Ôð	6ð 	6ñ Ôñ Ôð	6ð „[Ôð6ð 6ñ Ôð6ð  „[Ôð6ð 6ñ Ôð6ð0ð 0ð 0ð €R„]�9ÑÔð
0ð 
0ñ Ôð
0ðð ð ð"0ð "0ð "0ðHR0ð R0ð R0ðh „[×ÒØà,¨r¬v°s¸CÀÐ.EÐFØ(¨2¬6¨(°Q©,Ð7ð	
ñô ð0ð 0ñô ð0ðB	0ð 	0ð 	0ðG0ð G0ð G0ðR>ð >ð >ð40ð 40ð 40ðl0ð 0ð 0ð,0ð 0ð 0ð0ð 0ð 0ð9ð 9ð 9ð „[×ÒØ7à˜{¨Q°¨F°A°tÐ<Ø˜z¨4°!°Q°¸Ð>Ø˜v¨¨1 v°°1¨v°tÐ<ØÐ/°!°Q°¸¸DÐAØ˜_¨d°D¸1¸a¸&ÐAØ˜_¨d°DÐ:OÐ:OÐPð	
ñ
ô 
ð0ð 0ñ
ô 
ð0ð2;ð ;ð ;ð0ð 0ð 0ð0ð 0ð 0ð	0ð 	0ð 	0ð&ð &ð &ðHð Hð HðAð Að Að0ð 0ð 0ð 0ð 0r'   r[   c            
      ó˜  — e Zd Zd„ Z ej        d¬¦  «        d„ ¦   «         Zd„ Zd„ Zej	         
                    dg d¢¦  «        d	„ ¦   «         Zd
„ Zd„ Zej	         
                    ddddgddgdddgddgg¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej	         
                    dddg¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd S )!ÚTestExcelFileReadc                ó  — d}t          j        t          |d¬¦  «        5  t          d|z   d¦  «        5 }t	          j        |                     ¦   «         |¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nz�Passing bytes to 'read_excel' is deprecated and will be removed in a future version. To read from a byte string, wrap it in a `BytesIO` object.F)r…   Úraise_on_extra_warningsrv   rw   r_   )rŸ   Úassert_produces_warningÚFutureWarningrz   rb   ra   rÉ  )rf   r$   r   r�   r|   s        r%   Útest_deprecate_bytes_inputz,TestExcelFileRead.test_deprecate_bytes_input¯  s  € ð:ð 	õ Ô'Ý ¸eð
ñ 
ô 
ð 	7ð 	7õ �g Ñ(¨$Ñ/Ô/ð 7°1Ý”˜aŸfšf™hœh¨vÐ6Ñ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð 	7ð 	7s4   ŸB ³)A(ÁB Á(A,	Á,B Á/A,	Á0B Â BÂBTr\   c                ó´   — t          t          j        |¬¦  «        }|                      |ddd¦  «        ¦  «         |                     t          d|¦  «         dS )zH
        Change directory and set engine for ExcelFile objects.
        r_   r>   r?   r`   ry   N)r   rb   ry   rc   rd   re   s        r%   ri   z#TestExcelFileRead.cd_and_set_engine½  sX   € õ
 •r”|¨FÐ3Ñ3Ô3ˆØ×Ò˜(˜( 4¨°Ñ9Ô9Ñ:Ô:Ð:Ø×Ò�B ¨TÑ2Ô2Ð2Ð2Ð2r'   c                ó¼   — ddddddœ}t          j        d|z   ¦  «        5 }|j        }d d d ¦  «         n# 1 swxY w Y   |�|}n||dd …                  }||k    sJ ‚d S )Nr   r   r   r   rp   rv   rx   )rb   ry   r$   )rf   r   r$   r{   r`   r}   rK   s          r%   r~   z"TestExcelFileRead.test_engine_usedÆ  sÆ   € àØØØØð
ð 
Ðõ Œ\˜' HÑ,Ñ-Ô-ð 	"°Ø”\ˆFð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"ð ÐØˆHˆHà(¨°!°"°"¬Ô6ˆHØ˜Ò!Ð!Ð!Ð!Ð!Ð!s    4´8»8c                ón  — t          j        d|z   ¦  «        5 }t          j        |dddg¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          dgdgdgt          j        gdggd	g¬
¦  «        }t          j        ||¦  «         t          j        d|z   ¦  «        5 }t          j        |dddg¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          t          j        gdgt          j        gt          j        gdggd	g¬
¦  «        }t          j        ||¦  «         t          j        d|z   ¦  «        5 }t          j        |dddg¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          dgdgdgt          j        gdggd	g¬
¦  «        }t          j        ||¦  «         t          j        d|z   ¦  «        5 }t          j        |dddg¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          t          j        gdgt          j        gt          j        gdggd	g¬
¦  «        }t          j        ||¦  «         d S )NÚtest4r†   FÚapple©r‡   Úkeep_default_naÚ	na_valuesrb  rx   Úrabbitrå   r×   TÚtest5ú1.#QNANrí   )rb   ry   ra   r   rì   rí   rŸ   r    )rf   r   r`   rè   rK   s        r%   Útest_excel_passes_naz&TestExcelFileRead.test_excel_passes_naØ  sV  € ÝŒ\˜' HÑ,Ñ-Ô-ð 	°Ý”]Ø (¸EÈgÈYðñ ô ˆFð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ ØˆV�a�S˜4˜&¥2¤6 (¨X¨JÐ7À&Àð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/åŒ\˜' HÑ,Ñ-Ô-ð 	°Ý”]Ø (¸DÈWÈIðñ ô ˆFð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ ÝŒfˆX˜�s�RœV˜H¥r¤v h°°
Ð;ÀfÀXð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/õ Œ\˜' HÑ,Ñ-Ô-ð 	°Ý”]Ø (¸EÈgÈYðñ ô ˆFð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ Øˆ[˜1˜# ˜w­¬¨°8°*Ð=ÈÀxð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/åŒ\˜' HÑ,Ñ-Ô-ð 	°Ý”]Ø (¸DÈWÈIðñ ô ˆFð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ ÝŒfˆX˜�s�RœV˜H¥r¤v h°°
Ð;ÀfÀXð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/sE   ˜>¾AÁAÂCÃCÃCÄ2EÅEÅEÆ5GÇGÇ"GÚ	na_filter)NTFc                óh  — i }|�||d<   t          j        d|z   ¦  «        5 }t          j        |fdddgdœ|¤Ž}d d d ¦  «         n# 1 swxY w Y   |du rdgd	gd
gdgdgg}n*t          j        gd	gt          j        gt          j        gdgg}t          |dg¬¦  «        }t          j        ||¦  «         d S )Nr×  rÔ  r†   TrÏ  rÐ  FrÕ  rx   rí   rÓ  rå   r×   )rb   ry   ra   rì   rí   r   rŸ   r    )rf   r   r×  rm   r`   rè   rK   s          r%   Útest_excel_passes_na_filterz-TestExcelFileRead.test_excel_passes_na_filterþ  s)  € ð ˆàÐ Ø"+ˆF�;ÑåŒ\˜' HÑ,Ñ-Ô-ð 	°Ý”]Øðà#Ø $Ø"˜)ð	ð ð
 ðð ˆFð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð ˜ÐÐØ"˜ a S¨5¨'°G°9¸x¸jÐIˆHˆHåœ˜ 1 #­¬ xµ"´&°¸H¸:ÐFˆHå˜X°¨xÐ8Ñ8Ô8ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/s   ¡AÁA	ÁA	c                ó  — t          ||¦  «         |}t          |||¦  «         t          j        d|z   ¦  «        5 }t          j        |dd¬¦  «        }t          j        |ddgd¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        ||¦  «         t          j        ||¦  «         t          j        d|z   ¦  «        5 }|                     dd¬¦  «        }|                     ddgd¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        ||¦  «         t          j        ||¦  «         t          j        d|z   ¦  «        5 }t          j        |ddd¬¦  «        }	d d d ¦  «         n# 1 swxY w Y   t          j        |	|j        d d	…         ¦  «         t          j        d|z   ¦  «        5 }|                     ddd¬
¦  «        }	d d d ¦  «         n# 1 swxY w Y   t          j        |	|j        d d	…         ¦  «         d S )Nrv   r   r³   rx   rð   )rB   )r•   rB   rñ   ró   )rB   rò   )	rY   rR   rb   ry   ra   rŸ   r    ro   rô   )
rf   r7   r$   r   rF   rK   r`   r¡   r¢   r§   s
             r%   Útest_excel_table_sheet_by_indexz1TestExcelFileRead.test_excel_table_sheet_by_index  s  € Ý# F¨GÑ4Ô4Ð4àˆÝ˜ (¨FÑ3Ô3Ð3åŒ\˜' HÑ,Ñ-Ô-ð 	P°Ý”- °!¸qÐAÑAÔAˆCÝ”- °!¸q¸cÈQÐOÑOÔOˆCð	Pð 	Pð 	Pñ 	Pô 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pøøøð 	Pð 	Pð 	Pð 	Põ 	Ô˜c 8Ñ,Ô,Ð,Ý
Ô˜c 8Ñ,Ô,Ð,åŒ\˜' HÑ,Ñ-Ô-ð 	<°Ø—+’+˜a¨1�+Ñ-Ô-ˆCØ—+’+˜a¨1¨#¸�+Ñ;Ô;ˆCð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<õ 	Ô˜c 8Ñ,Ô,Ð,Ý
Ô˜c 8Ñ,Ô,Ð,åŒ\˜' HÑ,Ñ-Ô-ð 	P°Ý”- °!¸qÈQÐOÑOÔOˆCð	Pð 	Pð 	Pñ 	Pô 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pøøøð 	Pð 	Pð 	Pð 	På
Ô˜c 3¤8¨C¨R¨C¤=Ñ1Ô1Ð1åŒ\˜' HÑ,Ñ-Ô-ð 	<°Ø—+’+˜a¨1¸�+Ñ;Ô;ˆCð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<õ 	Ô˜c 3¤8¨C¨R¨C¤=Ñ1Ô1Ð1Ð1Ð1sG   »1A8Á8A<Á?A<Ã1DÄDÄDÅE2Å2E6Å9E6Æ6GÇGÇ"Gc                óÀ  — t          ||¦  «         |}t          |||¦  «         d}d}t          j        ||z   ¦  «        5 }|                     |d¬¦  «        }	d d d ¦  «         n# 1 swxY w Y   t          j        ||z   ¦  «        5 }|                     d|¬¦  «        }
d d d ¦  «         n# 1 swxY w Y   t          j        |	|¦  «         t          j        |
|¦  «         d S r¬  )rY   rR   rb   ry   ro   rŸ   r    )rf   r7   r$   r   rF   rK   r­  r‡   r`   Ú	df1_parseÚ	df2_parses              r%   r®  z!TestExcelFileRead.test_sheet_name2  s{  € Ý# F¨GÑ4Ô4Ð4àˆÝ˜ (¨FÑ3Ô3Ð3àˆØˆ
åŒ\˜( XÑ-Ñ.Ô.ð 	H°%ØŸš¨zÀQ˜ÑGÔGˆIð	Hð 	Hð 	Hñ 	Hô 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Høøøð 	Hð 	Hð 	Hð 	Hõ Œ\˜( XÑ-Ñ.Ô.ð 	H°%ØŸš¨a¸J˜ÑGÔGˆIð	Hð 	Hð 	Hñ 	Hô 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Høøøð 	Hð 	Hð 	Hð 	Hõ 	Ô˜i¨Ñ2Ô2Ð2Ý
Ô˜i¨Ñ2Ô2Ð2Ð2Ð2s#   ¿A#Á#A'Á*A'ÂB)Â)B-Â0B-r‡   r�   r   rÎ   r†   c                óü   — d}t          j        t          |¬¦  «        5  t          j        d|z   ¦  «        5 }|                     |¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S r¶  )r)   r‹   r—   rb   ry   ro   )rf   r   r‡   r�   r`   s        r%   r·  z+TestExcelFileRead.test_bad_sheetname_raisesD  sþ   € ð PˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	3ð 	3Ý”˜g¨Ñ0Ñ1Ô1ð 3°UØ—’ z�Ñ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3ð 	3ð 	3s4   žA1¶AÁA1ÁA	ÁA1Á A	Á!A1Á1A5Á8A5c                ó@  — d|z   }t          j        |dd|¬¦  «        }t          |d¦  «        5 }t          j        |¦  «        5 }t          j        |dd¬¦  «        }d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t	          j        ||¦  «         d S )Nrv   r†   r   ©r‡   rB   r$   rw   r³   )rb   ra   rz   ry   rŸ   r    )rf   r$   r   r°  rK   r|   rt   r  s           r%   r±  z(TestExcelFileRead.test_excel_read_bufferO  s5  € Ø˜Ñ ˆÝ”= °ÀQÈvÐVÑVÔVˆå�#�t‰_Œ_ð 	N Ý”˜a‘”ð N CÝœ s°xÈ1ÐMÑMÔM�ðNð Nð Nñ Nô Nð Nð Nð Nð Nð Nð Nøøøð Nð Nð Nð Nð	Nð 	Nð 	Nñ 	Nô 	Nð 	Nð 	Nð 	Nð 	Nð 	Nð 	Nøøøð 	Nð 	Nð 	Nð 	Nõ 	Ô˜h¨Ñ/Ô/Ð/Ð/Ð/s5   ®A>ÁA'ÁA>Á'A+	Á+A>Á.A+	Á/A>Á>BÂBc                óö   — t          d|z   d¦  «        5 }t          j        |¦  «        5 }t          j        |dd|¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |j        sJ ‚d S )Nrv   rw   r†   r   rá  )rz   rb   ry   ra   Úclosed)rf   r$   r   r|   rq   s        r%   Útest_reader_closes_filez)TestExcelFileRead.test_reader_closes_fileY  s  € Ý�'˜HÑ$ dÑ+Ô+ð 	U¨qÝ”˜a‘”ð U Då”˜d¨xÀ1ÈVÐTÑTÔTÐTðUð Uð Uñ Uô Uð Uð Uð Uð Uð Uð Uøøøð Uð Uð Uð Uð	Uð 	Uð 	Uñ 	Uô 	Uð 	Uð 	Uð 	Uð 	Uð 	Uð 	Uøøøð 	Uð 	Uð 	Uð 	Uð
 Œxˆˆˆˆˆs4   ”A%©AÁA%ÁA	ÁA%ÁA	ÁA%Á%A)Á,A)c                óü   — d}t          j        d|z   ¦  «        5 }t          j        t          |¬¦  «        5  t          j        |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nz8Engine should not be specified when passing an ExcelFilerv   r„   r€   r_   )rb   ry   r)   r‹   r—   ra   )rf   r   r�   Úxls       r%   Útest_conflicting_excel_enginesz0TestExcelFileRead.test_conflicting_excel_enginesa  sü   € àHˆåŒ\˜' HÑ,Ñ-Ô-ð 	0°Ý”�z°Ð5Ñ5Ô5ð 0ð 0Ý”˜b¨Ð/Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	0ð 	0s4   šA1¶AÁA1ÁA	ÁA1Á A	Á!A1Á1A5Á8A5c                ó&  — t          j        d|z   |¬¦  «        }t          d|z   d¦  «        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          j        t	          |¦  «        |¬¦  «        }t          j        ||¦  «         d S )Nrv   r_   rw   )rb   ra   rz   rÉ  r   rŸ   r    )rf   r$   r   rK   r|   r?   r  s          r%   Útest_excel_read_binaryz(TestExcelFileRead.test_excel_read_binaryi  sÄ   € å”= ¨8Ñ!3¸FÐCÑCÔCˆå�'˜HÑ$ dÑ+Ô+ð 	¨qØ—6’6‘8”8ˆDð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ ”�w t™}œ}°VÐ<Ñ<Ô<ˆÝ
Ô˜h¨Ñ/Ô/Ð/Ð/Ð/s   ­AÁAÁAc                óä   — t          d|z   d¦  «        5 }t          j        ||¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        d|z   |¬¦  «        }t          j        ||¦  «         d S )Nrv   rw   r_   )rz   rb   ra   rŸ   r    )rf   r   r$   r|   r}   rK   s         r%   Ú%test_excel_read_binary_via_read_excelz7TestExcelFileRead.test_excel_read_binary_via_read_excels  s¯   € å�'˜HÑ$ dÑ+Ô+ð 	5¨qÝ”] 1¨VÐ4Ñ4Ô4ˆFð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5å”= ¨8Ñ!3¸FÐCÑCÔCˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/s   ”7·;¾;c                óî   — t          dd¦  «        5 }t          j        t          d¬¦  «        5  t	          j        |ddg¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nzdf_header_oob.xlsxrw   zexceeds maximumr„   r   rx   rm  )rz   r)   r‹   r—   rb   ra   )rf   r$   r|   s      r%   Ú)test_read_excel_header_index_out_of_rangez;TestExcelFileRead.test_read_excel_header_index_out_of_rangez  sø   € åÐ&¨Ñ-Ô-ð 	0°Ý”�zÐ1BÐCÑCÔCð 0ð 0Ý”˜a¨¨A¨Ð/Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	0ð 	0s4   ‘A*­AÁA*ÁA	ÁA*ÁA	ÁA*Á*A.Á1A.r­  zdf_empty.xlsxzdf_equals.xlsxc                óè   — t          dgd¬¦  «        }t          j        ddgddg¬¦  «        }t          d	d
gg||d¬¦  «        }t	          j        |dddd	g¬¦  «        }t          j        ||¦  «         d S )NÚZÚI2rÂ   r3  )r¦   zB.1ÚI11ÚI12r,  rx   r�   r?  )rN   rÄ   r  r†   r   r  )r   r   r�  r   rb   ra   rŸ   r    )rf   r­  r�  ÚcolsrK   r}   s         r%   Útest_header_with_index_colz,TestExcelFileRead.test_header_with_index_col€  s‘   € õ �S�E Ð%Ñ%Ô%ˆÝÔ% z°<Ð&@ÈÐPUÈÐWÑWÔWˆÝ˜q !˜f˜X¨S¸$ÀgÐNÑNÔNˆÝ”Ø °QÀÀ1¸vð
ñ 
ô 
ˆõ 	Ô˜h¨Ñ/Ô/Ð/Ð/Ð/r'   c                ó  — t          ||¦  «         d|z   }t          j        |¦  «        5 }t          j        |ddgd|¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t	          ||¦  «        }t          j        ddgd|› d�¬	¦  «        }t          j        |d d…         |dd …         g|d                              ¦   «         |d                              ¦   «         g¬
¦  «        }	t          g g |	¬¦  «        }
t          j        |
|¦  «         d S )NÚtest_datetime_mir   rx   )r¡  rB   r$   z
2020-02-29z
2020-03-01r  r  r  r,  re  )rY   rb   ry   ra   rJ   ÚDatetimeIndexr   r-  Úto_pydatetimer   rŸ   r    )rf   r7   r$   r   r|   r`   r  rQ   ÚdtiÚexpected_column_indexrK   s              r%   Útest_read_datetime_multiindexz/TestExcelFileRead.test_read_datetime_multiindex‹  sf  € å# F¨GÑ4Ô4Ð4à Ñ)ˆÝŒ\˜!‰_Œ_ð 	U Ý”] 5°!°Q°À1ÈVÐTÑTÔTˆFð	Uð 	Uð 	Uñ 	Uô 	Uð 	Uð 	Uð 	Uð 	Uð 	Uð 	Uøøøð 	Uð 	Uð 	Uð 	Uõ ˜H fÑ-Ô-ˆÝÔ ¨lÐ;À=ÈÀ=À=À=ÐQÑQÔQˆÝ *Ô 6Ø��!�ŒW�c˜!˜"˜"”gÐà�A”×$Ò$Ñ&Ô&Ø�A”×$Ò$Ñ&Ô&ðð!
ñ !
ô !
Ðõ ˜R rÐ3HÐIÑIÔIˆå
Ô˜h¨Ñ/Ô/Ð/Ð/Ð/s   ªAÁAÁAc                óÒ   — t          j        t          d¬¦  «        5  t          j        d|› d�d¦  «        5  	 d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )NzValue must be one of *r„   zio.excelz.readerÚabc)r)   r‹   r—   rb   rr  r¤  s     r%   Útest_engine_invalid_optionz,TestExcelFileRead.test_engine_invalid_option   só   € åŒ]�:Ð-EÐFÑFÔFð 	ð 	ÝÔ"Ð#?¨hÐ#?Ð#?Ð#?ÀÑGÔGð ð Øðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s3   œA¶A¸AÁA	ÁAÁA	ÁAÁA Á#A c                ó*  — |dk    rt          j        d¦  «         |dk    r3|                     t           j                             d¬¦  «        ¦  «         t          j        d|z   ¦  «        5 }|j        dgk    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r�  r   rž  rT   rŸ  r†   )r)   ra  rV   rW   rX   rb   ry   Úsheet_names)rf   r7   r$   r   r`   s        r%   Útest_ignore_chartsheetsz)TestExcelFileRead.test_ignore_chartsheets¦  sï   € à�vÒÐÝŒKÐDÑEÔEÐEØ�XÒÐØ×ÒÝ”×!Ò!ØQð "ñ ô ñô ð õ
 Œ\˜,¨Ñ1Ñ2Ô2ð 	3°eØÔ$¨¨
Ò2Ð2Ð2Ð2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3ð 	3ð 	3s   Á+BÂBÂBc                óê  — t           f}|€t          j        d|› �¦  «         n-|dk    rdd l}t           |j        j        f}n|dk    r	ddlm} |f}t          j	        d|› �¦  «        5 }t          |¦  «                             dd¬¦  «         t          j        d	¦  «        5  	 t          j        ||¬
¦  «         n# |$ r Y nw xY wd d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )NzInvalid test for engine=r   r   r   rÁ  Úcorruptzutf-8)ÚencodingFr_   )r
   r)   ra  r   ÚbiffhrÀ  r   rÂ  rŸ   rd  r   Ú
write_textrÈ  rb   ry   )rf   r$   r   Úerrorsr   rÂ  Úfiles          r%   Útest_corrupt_files_closedz+TestExcelFileRead.test_corrupt_files_closed³  s°  € å�ˆØˆ>ÝŒKÐ;°6Ð;Ð;Ñ<Ô<Ð<Ð<Ø�vÒÐØˆKˆKˆKå  $¤*Ô"6Ð7ˆFˆFØ�zÒ!Ð!Ø5Ð5Ð5Ð5Ð5Ð5à#Ð%ˆFåŒ_Ð1 xÐ1Ð1Ñ2Ô2ð 	°dÝ�‰JŒJ×!Ò! )°gÐ!Ñ>Ô>Ð>ÝÔ+¨EÑ2Ô2ð ð ðÝ”L ¨fÐ5Ñ5Ô5Ð5Ð5øØð ð ð Ø�Dðøøøðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	sZ   Á'9C(Â CÂ"B9Â8CÂ9CÂ>CÃ CÃCÃC(ÃC	ÃC(ÃC	ÃC(Ã(C,Ã/C,N)r¸  r¹  rº  rÊ  r)   r»  ri   r~   rÖ  rW   r¼  rÙ  rÛ  r®  r·  r±  rä  rç  ré  rë  rí  rô  rû  rþ  r  r	  r.   r'   r%   rÅ  rÅ  ®  sà  € € € € € ð7ð 7ð 7ð €V„^˜DÐ!Ñ!Ô!ð3ð 3ñ "Ô!ð3ð"ð "ð "ð$$0ð $0ð $0ðL „[×Ò˜[Ð*=Ð*=Ð*=Ñ>Ô>ð0ð 0ñ ?Ô>ð0ð02ð 2ð 2ð63ð 3ð 3ð$ „[×ÒØØ	
ˆQ�ˆF�Q˜�F˜H x°Ð&:¸XÀxÐ<PÐQñô ð3ð 3ñ	ô ð3ð0ð 0ð 0ðð ð ð0ð 0ð 0ð0ð 0ð 0ð0ð 0ð 0ð0ð 0ð 0ð „[×Ò˜Z¨/Ð;KÐ)LÑMÔMð0ð 0ñ NÔMð0ð0ð 0ð 0ð*ð ð ð3ð 3ð 3ðð ð ð ð r'   rÅ  )r   r   r    r!   )r   r   r$   rG   r    r   )rK   r   r   r   r$   r   r    rL   )8Ú
__future__r   r   r   Ú	functoolsr   r>   r   rá  Úpathlibr   rã  r‰   Úurllib.errorr	   Úzipfiler
   Únumpyrì   r)   Úpandas.compatr   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsrÀ  Úpandasrb   r   r   r   r   r   Úpandas._testingÚ_testingrŸ   rW   r¿  Ú
pytestmarkr/   r*   rÃ  Úengine_paramsr&   r,   r»  r   r8   r$   r   rF   rJ   rR   rY   r[   rÅ  r.   r'   r%   ú<module>r     së  ðØ "Ð "Ð "Ð "Ð "Ð "ðð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 	€	€	€	Ø Ð Ð Ð Ð Ð Ø €€€Ø 	€	€	€	Ø !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø €€€à -Ð -Ð -Ð -Ð -Ð -Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )à Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð àÐÑÔð (Ø”Ô'€Jà=Ð=Ð=€ð
 €F„LØàˆBŒM˜&Ñ!Ô!ð
ðñ ô ð €F„LØàˆBŒM˜*Ñ%Ô%ð
ðñ ô ð €F„LØàˆBŒM˜&Ñ!Ô!ð
ðñ ô ð €F„L�  ¤¨xÑ!8Ô!8Ð9Ñ9Ô9Ø€F„L�˜m˜bœm¨EÑ2Ô2Ð3Ñ3Ô3Ø€F„L� = 2¤=Ð1BÑ#CÔ#CÐDÑDÔDð1€ð8ð ð ð ð*ð ð ð €„ðð à ðñ ô ð 	ðñ ô ðð ñô ðð „ðð ñ „ðð
 „ðð ñ „ðð
 „ðð ñ „ððð ð ð ð2ð 2ð 2ð 2ð
ð 
ð 
ðR0ð R0ð R0ð R0ð R0ñ R0ô R0ð R0ðj(Yð Yð Yð Yð Yñ Yô Yð Yð Yð Yr'   