§
    á! 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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% d dl&m'Z'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„Z0d„ Z1 ej2        d„ e/D ¦   «         e3¬¦  «        d„ ¦   «         Z4ej2        d„ ¦   «         Z5ej2        d„ ¦   «         Z6ej2        d „ ¦   «         Z7d.d#„Z8d/d'„Z9d(„ Z: G d)„ d*¦  «        Z; G d+„ d,¦  «        Z<dS )0é    )Úannotations)ÚdatetimeÚtime)Úpartial)ÚBytesION)ÚPath)ÚURLError)Ú
BadZipFile)Úusing_pyarrow_string_dtype)Úis_platform_windows)Ú	DataFrameÚIndexÚ
MultiIndexÚSeriesÚread_csv)ÚArrowStringArrayÚStringArray)ú.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     ú\c:\xampp_lite_8_4\www\timesheet\venv\Lib\site-packages\pandas/tests/io/excel/test_readers.pyÚ_is_valid_engine_ext_pairr)   F   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/   [   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>r6   f   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_extr;   e   s   € ð Œ=Ðr*   c                ó   — | \  }}|S ©Nr1   ©r;   r'   r!   s      r(   r'   r'   u   s   € à*Ñ€FˆHØ€Mr*   c                ó   — | \  }}|S r=   r1   r>   s      r(   r!   r!   {   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(   rI   rI   �   s4   € ð
 ˆx˜˜f e¨[Ñ9Ô9€HÝ�h¨!¸ÀhÐOÑOÔO€FØ€Mr*   r'   ú
str | Nonec                ó   — dS )NÚnsr1   )r!   r'   s     r(   Úget_exp_unitrM   ‹   s   € Øˆ4r*   Úexpectedr   ÚNonec                ó|   — d | j         _        t          ||¦  «        }| j                              |¦  «        | _         d S r=   )ÚindexÚnamerM   Úas_unit)rN   r!   r'   Úunits       r(   Úadjust_expectedrU   �   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'   r:   s     r(   Úxfail_datetimes_with_pyxlsbr\   –   sT   € Ø�ÒÐØ×ÒÝŒK×ÒØLð ñ ô ñ	
ô 	
ð 	
ð 	
ð 	
ð Ðr*   c                  óÎ  — 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¢e#¬/¦  «         e"d1d2ej         d3ge#¬/¦  «        d,œ¦  «        fg¦  «        d4„ ¦   «         Z$d5„ Z%d6„ Z&ej         '                     e(¦   «         d7¬8¦  «        d9„ ¦   «         Z)ej                             d:i d;fd<d=id;fg¦  «        d>„ ¦   «         Z*d?„ Z+ej                             d@dA edBdCgi¦  «        fdD edEg¬F¦  «        fg¦  «        dG„ ¦   «         Z,dH„ Z-dI„ Z.dJ„ Z/dK„ Z0dL„ Z1dM„ Z2ej         3                    dN¦  «        dO„ ¦   «         Z4dP„ Z5dQ„ Z6dR„ Z7ej                             dSdTdUdTgdTdUgdVdWdVgdVdWgg¦  «        dX„ ¦   «         Z8dY„ Z9dZ„ Z:ej        j;        ej        j<        d[„ ¦   «         ¦   «         Z=e>j?        ej        j<        d\„ ¦   «         ¦   «         Z@ej        j<        d]„ ¦   «         ZAej        jB        d^„ ¦   «         ZCd_„ ZD e>jE        d`¦  «        da„ ¦   «         ZFdb„ ZGdc„ ZHdd„ ZIej                             dedfej         dgdhdggfdiej         gdjz  fg¦  «        dk„ ¦   «         ZJdl„ ZKdm„ ZLdn„ ZMdo„ ZNdp„ ZOdq„ ZPdr„ ZQds„ ZRej                             dtdudvdUd;gdUdfdudwddUd;gdfdudxdUd;gdUd;gdfdudydUd;gdUdfdzd{dddUdgfdzd{ddd|„ fg¦  «        d}„ ¦   «         ZSd~„ ZTd„ ZUd€„ ZVd�„ ZWd‚„ ZXdƒ„ ZYd„„ ZZd…„ Z[dS )†ÚTestReadersT©Úautousec                ó´   — t          t          j        |¬¦  «        }|                      |ddd¦  «        ¦  «         |                     t          d|¦  «         dS )zG
        Change directory and set engine for read_excel calls.
        ©r'   rA   rB   ÚexcelÚ
read_excelN)r   Úpdrd   ÚchdirÚsetattr©Úselfr'   rG   Ú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=   rb   )ri   ÚargsÚkwargss      r(   Úparserz,TestReaders.test_engine_used.<locals>.parser«   s
   € Ø”;Ðr*   Úparser   r   r   r   ©ÚxlsxÚxlsmÚxlsbÚxlsÚodsÚtest1Úrbé   )rg   re   Ú	ExcelFileÚopenrd   )	ri   r!   r'   rj   rq   Úexpected_defaultsÚfÚresultrN   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é{   ÚTrueTrs   >   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'©Úmatchry   ÚSheet1r   r{   )Ú
sheet_namerE   Úengine_kwargs)ÚreÚescaper,   ÚraisesÚ	TypeErrorre   rd   )ri   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‡   ry   r‰   r   é   ©rŠ   rE   ÚusecolsÚSheet2r{   ©rŠ   ÚskiprowsrE   r•   ©r,   rŽ   Ú
ValueErrorre   rd   ©ri   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ÚCry   r‰   r   )r   é   r“   r”   r–   r{   r—   ©r\   rU   re   rd   ÚtmÚassert_frame_equal)ri   r:   r'   r!   rI   rN   Ú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Ÿ   ry   r‰   r   zA:Dr”   r–   r{   r—   rž   rŸ   zA,C,DzA,C:Dr¡   )ri   r:   r'   r!   rI   rN   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   r{   r“   )r   r“   r{   )r{   r   r“   )r{   r“   r   )r“   r   r{   )r“   r{   r   c                ó¼   — t          ||¦  «         |ddg         }t          |||¦  «         t          j        d|z   dd|¬¦  «        }t	          j        ||¦  «         d S )Nr©   rŸ   ry   r‰   r   r”   r¡   )ri   r:   r'   r!   r•   rI   rN   r€   s           r(   Ú.test_usecols_diff_positional_int_columns_orderz:TestReaders.test_usecols_diff_positional_int_columns_order5  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®   ry   r‰   ©rŠ   r•   )ÚrangeÚlenrQ   re   rd   r¢   r£   )ri   r!   r•   rI   rN   r€   s         r(   Ú.test_usecols_diff_positional_str_columns_orderz:TestReaders.test_usecols_diff_positional_str_columns_orderE  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 ©Nry   r‰   r   ©rŠ   rE   r¡   ©ri   r:   r'   r!   rI   rN   r€   s          r(   Útest_read_excel_without_slicingz+TestReaders.test_read_excel_without_slicingM  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®   ry   r‰   r   zA,D:Er”   r¡   r·   s          r(   Útest_usecols_excel_range_strz(TestReaders.test_usecols_excel_range_strV  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‡   ry   r‰   zD:E1r°   r™   r›   s      r(   Ú$test_usecols_excel_range_str_invalidz0TestReaders.test_usecols_excel_range_str_invalida  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‡   ry   r‰   r©   rŸ   r”   ©r,   rŽ   r�   re   rd   r›   s      r(   Útest_index_col_label_errorz&TestReaders.test_index_col_label_errorg  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 )Nry   ÚSheet3r©   r¶   )rž   rŸ   r®   ÚEÚF©rR   ©ÚcolumnsrQ   )re   rd   r   r   r¢   r£   ©ri   r!   r€   rN   s       r(   Útest_index_col_strzTestReaders.test_index_col_strr  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 )	Nry   rÂ   r¨   r¶   )r®   rÃ   rÄ   r“   ©ÚlevelsÚcodesÚnamesrÆ   )re   rd   r   r   r¢   r£   rÈ   s       r(   Útest_index_col_emptyz TestReaders.test_index_col_emptyz  s‚   € å”Ø�hÑ¨8¸¸¸ð
ñ 
ô 
ˆõ Ø#�O�OÝ R D¨1¡H°R°D¸1±HÀOÀOÀOÐTÑTÔTð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r*   rE   Nr    c                óÚ   — t          j        d|z   d|¬¦  «        }t          g d¢g d¢gg d¢¬¦  «        }|r |                     |j        |         ¦  «        }t          j        ||¦  «         d S )Nry   ÚSheet4r¶   )Úi1ÚaÚx)Úi2ÚbÚy)z
Unnamed: 0Úcol1Úcol2©rÇ   )re   rd   r   Ú	set_indexrÇ   r¢   r£   )ri   r!   rE   r€   rN   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‡   ry   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‡   ry   Ú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Ú   ©re   rd   r   r¢   r£   )ri   r!   ÚparsedrN   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 filesrW   Útest3r‰   rå   rè   rÚ   )r\   rY   r,   rZ   r[   re   rd   r   ÚnpÚnanr¢   r£   )ri   r:   r'   r!   rë   rN   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 )
Nry   r‰   r   r¶   r–   r{   ©rŠ   r˜   rE   ©rŠ   rE   Ú
skipfooteréÿÿÿÿ)r\   rU   re   rd   r¢   r£   Úiloc)	ri   r:   r'   r!   rI   rN   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)r{   r    éýÿÿÿé   r   )g      ô?g      @gHáz®Gý?g¸…ëQ¸þ?g•Ö&è.>)TFTTF)r{   r    r“   rû   é   )rÓ   r“   ÚcÚdÚeiÝ  é
   é   é   iq  r{   é   é   iß  r“   úM8[ú]©Údtype)ÚIntColÚFloatColÚBoolColÚStrColÚStr2ColÚDateColÚ
test_typesr‰   rå   g      @r  r¶   r  ©rŠ   Ú
converters)r\   rM   r   Ú	from_dictr   r   re   rd   r¢   r£   ÚcopyÚlocrQ   Ú	enumeraterÇ   rÛ   Úapplyr"   )ri   r:   r'   r!   rT   rN   ÚbasenameÚactualÚfloat_expectedÚicolrR   Ú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)r{   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!  r1   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ð   re   rd   r¢   r£   )ri   r!   r  rN   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           	     óp  — 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¢t          ¬¦  «        |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©r{   r    r“   rû   ©ç      @ç      @ç      @ç      @ç      ð?ç       @ç      @©rÓ   rÖ   rý   rþ   Úfloat64Úfloat32)rÓ   rÖ   rý   r  rÓ   rÖ   ©Ú001Ú002Ú003Ú004rý   z(Unable to convert column d to type int64r‡   rþ   Úint64)re   rd   r   rï   rð   r¢   r£   r"   Úastyper   Úobjectr,   rŽ   rš   )ri   r!   r  r  rN   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ˆ�‰ÝÐ;Ð;Ð;Å6ÐJÑJÔJˆ�‰Ý
Ô˜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/Ä2D/zdtype,expectedr1  r2  r7  r8  r9  r:  r;  r<  r  r=  r"  Ú2r$  c                óf   — d}t          j        ||z   |¬¦  «        }t          j        ||¦  «         d S )Nr0  r  ©re   rd   r¢   r£   )ri   r!   r  rN   r  r  s         r(   Útest_reader_dtype_strz!TestReaders.test_reader_dtype_str4  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: 'ú'r{   r“   ÚInt64r  r3  r5  ÚFloat64TFÚbooleanrÓ   rÖ   Ústringé   g      @z
2019-12-31r    )
rÓ   rÖ   rý   rþ   rÿ   r   ÚgÚhÚiÚjÚtest©rŠ   rQ   ©rŠ   Údtype_backendÚpyarrowr   )ÚArrowExtensionArrayc           	     ó^   •— i | ])}| ‰‰                      ‰|         d ¬¦  «        ¦  «        “Œ*S )T)Úfrom_pandas)Úarray)r3   Úcolr\  ÚdfÚpas     €€€r(   ú
<dictcomp>z2TestReaders.test_dtype_backend.<locals>.<dictcomp>t  sK   ø€ ð ð ð àð Ð,Ð,¨R¯XªX°b¸´gÈ4¨XÑ-PÔ-PÑQÔQðð ð r*   rU  Úus)rT   rV  r  r  )r,   Úskipr   r   re   ÚNAÚ	Timestampr¢   Úensure_cleanÚto_excelrd   r[  Úpandas.arraysr\  rÇ   r_  Ú	_pa_arrayÚcastÚ	timestamprM   rC  r£   )ri   r!   rZ  r'   Ú	file_pathr€   rN   rT   r\  ra  rb  s           @@@r(   Útest_dtype_backendzTestReaders.test_dtype_backendV  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 )NrK  rL  rM  r7  r3  ©rÓ   rÖ   rW  FrX  Únumpy_nullabler;  )rŠ   rZ  r  )r,   re  r   rï   rð   r¢   rh  ri  re   rd   r£   )ri   r!   ra  rn  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zinfer_string takes precedencerW   c           
     ó   — |dv rt          j        d|› d�¦  «         t          j        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   |dk    rwt          t          t          j        ddgt          j        ¬¦  «        ¦  «        t          t          j        d	t          j	        gt          j        ¬¦  «        ¦  «        d
œ¦  «        }nVt          t          |                     ddg¦  «        ¦  «        t          |                     d	d g¦  «        ¦  «        d
œ¦  «        }t          j        ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrK  rL  rM  r[  zmode.string_storagerÓ   rÖ   r  rÔ   rq  rW  FrX  rr  rY  rD   )r,   re  Úimportorskipre   Úoption_contextr   rï   r_  Úobject_rf  r¢   rh  ri  rd   r   r   r£   )ri   r!   Ústring_storagerb  ra  rn  r€   rN   s           r(   Útest_dtype_backend_stringz%TestReaders.test_dtype_backend_string–  si  € ð
 Ð(Ð(Ð(ÝŒKÐ?°HÐ?Ð?Ð?Ñ@Ô@Ð@åÔ  Ñ+Ô+ˆåÔÐ4°nÑEÔEð 	4ð 	4Ýåœ 3¨ *µB´JÐ?Ñ?Ô?Ýœ 3­¬ ,µb´jÐAÑAÔAðð ñô ˆBõ ” Ñ*Ô*ð ¨iØ—’˜I°&À�ÑFÔFÐFÝœØ¨&Ð@Pðñ ô �ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð  Ò)Ð)Ý$å(­¬°3¸°*ÅBÄJÐ)OÑ)OÔ)OÑPÔPÝ(­¬°3½¼°,ÅbÄjÐ)QÑ)QÔ)QÑRÔRðð ñô ��õ %å-¨b¯hªh¸¸S°zÑ.BÔ.BÑCÔCÝ-¨b¯hªh¸¸T°{Ñ.CÔ.CÑDÔDðð ñô �õ Ô! &¨(Ñ3Ô3Ð3ð7	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð 	4ð 	4s8   ÁA1G3Â70C3Ã'G3Ã3C7	Ã7G3Ã:C7	Ã;C+G3Ç3G7Ç:G7zdtypes, exp_valuer{   úa.1rB  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  r{   )rÓ   rz  zdtype dict changed)rD  r  re   rd   r   r   r¢   r£   )	ri   r!   ÚdtypesÚ	exp_valuer  Ú
dtype_dictÚdtype_dict_copyr€   rN   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ê   )ri   r!   r  r  rN   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,   re  re   rd   r¢   r£   )ri   r'   r!   r  rN   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)re   rd   r¢   Úassert_contains_allÚkeysÚlist©ri   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å   )re   rd   r�  Úsetr¢   rŽ  r�  r²   )ri   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Â   )re   rd   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å   )re   rd   r¢   r£   r   )ri   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   re   rd   r¢   r£   )ri   r!   rN   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™  r{   )ÚheaderrŠ   ry   c                ó   — ddz  S )Nr{   r   r1   r)  s    r(   r*  zHTestReaders.test_exception_message_includes_sheet_name.<locals>.<lambda>#  s
   € ÀÀAÁ€ r*   )r•   rŠ   )r,   rŽ   rš   re   rd   ÚZeroDivisionError©ri   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 openpyxlrW   )r   r   z)Defaults to openpyxl, maybe not supportedÚtestdateoverflow)r\   r   re   rg  rY   r,   rZ   r[   rd   r¢   r£   )ri   r:   r'   r!   rN   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 ©Nry   r‰   r   r¶   )rE   rŠ   r¡   )
ri   r:   r!   r'   rI   ÚfilenamerŠ   rN   r¤   r¥   s
             r(   Útest_sheet_namezTestReaders.test_sheet_nameA  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 )Nry   r‰   r   r¶   rz   )re   rd   r}   r¢   r£   )ri   r!   ÚpthrN   r   r  s         r(   Útest_excel_read_bufferz"TestReaders.test_excel_read_bufferR  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'  rb   r™   )ri   Ú
bad_engines     r(   Útest_bad_engine_raisesz"TestReaders.test_bad_engine_raisesY  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™   )ri   r!   rŠ   r�   s       r(   Útest_bad_sheetname_raisesz%TestReaders.test_bad_sheetname_raises^  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Ž   ÚFileNotFoundErrorre   rd   )ri   r!   Úbad_filerˆ   s       r(   Útest_missing_file_raisesz$TestReaders.test_missing_file_raisesh  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Ž   re   rd   r   )ri   r'   Ú
bad_streamÚerrorr�   rÂ  rÄ  s          r(   Útest_corrupt_bytes_raisesz%TestReaders.test_corrupt_bytes_raisesu  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 )Nry   rz   )Úcontent)r}   Úserve_contentÚreadre   rd   Úurlr¢   r£   )ri   Ú
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 )Nry   rz   ©ÚKeyÚBodyús3://ú/test1)Ústorage_options)r}   Ú
put_objectrR   re   rd   r¢   r£   )ri   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 )Nry   rz   rÒ  r   rÕ  rÖ  r1   )	r}   rØ  Ús3fsÚS3FileSystemrR   re   rd   r¢   r£   )	ri   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 )NrA   rB   rc   ry   zfile://localhost/ú zfailing on )ÚosÚpathr½  re   rd   r	   ÚplatformÚunameÚstripr,   re  r¢   r£   )ri   r!   rG   Ú
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µ   )re   rd   r   r¢   r£   )ri   r!   Ústr_pathrN   Ú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   )Úlocalry   r‰   r¶   )	Úpy.pathrð  rã  rä  r½  re   rd   r¢   r£   )ri   r!   Ú	LocalPathrì  rN   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 )Nry   rz   r‰   r   r¶   )rã  rä  r½  r}   re   rd   rË  )ri   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)rW   ÚTimer{   r    r“   é-   é8   i † rû   é   é1   i@ rR  é   é*   ià“ é   é9   é#   i€ é	   é)   é   i ¡ é   é   é   iÀ'	 r  i`®
 é5   i 5 é   é%   r   i » é   é   é6   Ú
times_1900r‰   rå   Ú
times_1904)r\   rY   r,   rZ   r[   r   r  r   re   rd   r¢   r£   )ri   r:   r'   r!   rN   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Ö   Útestmultiindexr{   r3  ú
2015-01-01Tr    r4  ú
2015-01-02Fr“   r5  ú
2015-01-03rû   r6  ú
2015-01-04rÚ   r  r  Ú	mi_columnr   )rŠ   r£  rE   r:  Úmi_indexr¶   Úboth©rŠ   rE   r£  Úilvl1Úilvl2Úmi_index_nameÚc1Úc2Úmi_column_name)ÚlevelÚname_with_intÚ	both_nameÚboth_name_skiprows)rŠ   rE   r£  r˜   )r\   rM   r   Úfrom_productr   re   rg  rC  rd   r¢   r£   rQ   rÇ   Ú	set_namesr�  r±   Ú
set_levels)	ri   r:   r'   r!   rT   ÚmiÚmi_filerN   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Î   r{   r3  r  Tr    r4  r  Fr“   r5  r  rû   r6  r  )rƒ   rƒ   r  r  r  r  rÆ   r  r  r   r  )r\   r   r%  rM   r   re   rg  Úfrom_arraysrC  rd   r¢   r£   )ri   r:   r'   r!   rŠ   Úidx_lvl2r)  r(  rT   rN   r€   s              r(   Ú+test_read_excel_multiindex_blank_after_namez7TestReaders.test_read_excel_multiindex_blank_after_name^  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   r{   ©rŠ   r£  ©r©   rž   ©ÚkeyÚvalr1  r    rÚ   )re   rd   r   r%  r   r¢   r£   )ri   r!   r)  r€   Úexp_columnsrN   s         r(   Ú&test_read_excel_multiindex_header_onlyz2TestReaders.test_read_excel_multiindex_header_only†  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   r{   r    r“   rû   rü   rË   rÅ   ©rQ   rÇ   Úsingle_namesr   r¶   Úmulti_namesr{   )r\  r]  r^  r_  r`  )rb  rc  rd  re  rf  )r   r{   r    r“   rû   Úsingle_no_namesÚmulti_no_names)rï   r_  rð   rD  r   r   r   re   rd   r¢   r£   rQ   )	ri   r!   r¯  rB   rÇ   r(  ÚsirN   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‡   ry   ©r£  r¿   )ri   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˜   r{   r3  r  Tr4  r  Fr“   r5  r  rû   r6  r  r:  rÚ   rý   r  r  c                ó
   — | dv S ©N)r   r    r1   r)  s    r(   r*  z6TestReaders.test_read_excel_skiprows.<locals>.<lambda>  s
   € ˜q F˜{€ r*   )rŠ   r˜   rÎ   )r\   rM   re   rd   r   rg  rC  r¢   r£   rï   r_  ©ri   r:   r'   r!   rT   r  rN   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 )Nrs  rt  c                ó
   — | dvS )N)r{   r“   rü   r1   r)  s    r(   r*  zFTestReaders.test_read_excel_skiprows_callable_not_in.<locals>.<lambda>  s   € ˜q¨	Ð1€ r*   ru  r{   r3  r  Tr“   r5  r  Fr:  rÚ   rý   r  r  )	r\   rM   re   rd   r   rg  rC  r¢   r£   rx  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ü   ry   ©ÚnrowsrH  )ri   r!   Únum_rows_to_pullr  rN   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 )Nry   r   r~  )re   rd   r²   r¢   r£   )ri   r!   rN   Ú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_file5  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‡   ry   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   rs  rt  c                ó
   — | dv S rw  r1   r)  s    r(   r*  zTestReaders.<lambda>K  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£  rE   r˜   Nr“   )rŠ   r£  rE   r˜   r  )re   rd   r÷   r¢   r£   )	ri   r!   r¯  rŠ   r£  rE   r˜   rN   r  s	            r(   Útest_read_excel_nrows_paramsz(TestReaders.test_read_excel_nrows_paramsC  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‡   ry   r‰   r   r¿   r¦  s     r(   Útest_deprecated_kwargsz"TestReaders.test_deprecated_kwargsg  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ž   r6  ©r“   rû   r�  ))r©   r©   r6  ©r{   r    rŽ  )r   r{   r.  )r    r“   rg  r3  r   r{   r  )r   Úfrom_tuplesr   re   rd   r¢   r£   )ri   r!   Ú	file_namerB   ÚidxrN   r€   s          r(   Ú"test_no_header_with_list_index_colz.TestReaders.test_no_header_with_list_index_colk  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      à?r{   r    ÚnumbersrÚ   )rï   rð   r   re   rd   r¢   r£   )ri   r!   r�  rB   rN   r€   s         r(   Útest_one_col_noskip_blank_linez*TestReaders.test_one_col_noskip_blank_linex  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ž   r{   r“   r    rû   rÚ   Úmi_column_empty_rowsr   r4  )	r   r�  rï   rð   r   re   rd   r¢   r£   )ri   r!   r�  rÇ   rB   rN   r€   s          r(   Ú test_multiheader_two_blank_linesz,TestReaders.test_multiheader_two_blank_lines€  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)re   rd   Úshape)ri   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 worksheetsrW   z"Worksheet named 'Chart1' not foundr‡   Ú
chartsheetÚChart1rå   ©	r,   re  rY   rZ   r[   rŽ   rš   re   rd   ©ri   r:   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   rW   z0Worksheet index 1 is invalid, 1 worksheets foundr‡   r¡  r{   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ú,r{   )Údecimalr˜   )r{   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*   )\Ú__name__Ú
__module__Ú__qualname__r,   Úfixturerl   r�   r‘   rœ   r¦   r«   rZ   Úparametrizer­   r³   r¸   rº   r¼   rÀ   rÉ   rÏ   rÜ   rß   râ   rì   rñ   rø   r  r.  rE  r   rï   rð   r"   r   rD  rI  ro  rs  r[   r   ry  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*  r1  r:  rm  rq  ry  r|  r�  r„  r†  r‰  r‹  r’  r–  r™  r�  r¥  r¨  r¹  r1   r*   r(   r^   r^   Ÿ   s˜  € € € € € Ø€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Ð$@Ð$@Ð$@ÈÐOÑOÔOØ#˜V S¨#¨r¬v°sÐ$;À6ÐJÑJÔJð	ð ñô ð
ð	
ñô ð60ð 0ñ7ô ð60ð.0ð .0ð .0ð`*ð *ð *ð  „[×ÒØ"Ð"Ñ$Ô$Ð-Lð ñ ô ð"4ð "4ñô ð"4ðH „[×ÒÐ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_warningsry   rz   rb   )r¢   Úassert_produces_warningÚFutureWarningr}   re   rd   rË  )ri   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.
        rb   rA   rB   rc   r|   N)r   re   r|   rf   rg   rh   s        r(   rl   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   rs   ry   r{   )re   r|   r'   )ri   r!   r'   r~   rc   r€   rN   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_valuesrf  r{   Úrabbitrè   rÚ   TÚtest5ú1.#QNANrð   )re   r|   rd   r   rï   rð   r¢   r£   )ri   r!   rc   rë   rN   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×  r{   rð   rÕ  rè   rÚ   )re   r|   rd   rï   rð   r   r¢   r£   )ri   r!   rÙ  rp   rc   rë   rN   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 )Nry   r   r¶   r{   ró   )rE   )r˜   rE   rô   rö   )rE   rõ   )	r\   rU   re   r|   rd   r¢   r£   rr   r÷   )
ri   r:   r'   r!   rI   rN   rc   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®  )r\   rU   re   r|   rr   r¢   r£   )ri   r:   r'   r!   rI   rN   r¯  rŠ   rc   Ú	df1_parseÚ	df2_parses              r(   r°  z!TestExcelFileRead.test_sheet_nameB  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š   re   r|   rr   )ri   r!   rŠ   r�   rc   s        r(   r¹  z+TestExcelFileRead.test_bad_sheetname_raisesT  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 )Nry   r‰   r   ©rŠ   rE   r'   rz   r¶   )re   rd   r}   r|   r¢   r£   )ri   r'   r!   r²  rN   r   rw   r  s           r(   r³  z(TestExcelFileRead.test_excel_read_buffer_  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 )Nry   rz   r‰   r   rã  )r}   re   r|   rd   Úclosed)ri   r'   r!   r   rt   s        r(   Útest_reader_closes_filez)TestExcelFileRead.test_reader_closes_filei  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ˆˆˆ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 ExcelFilery   r‡   rƒ   rb   )re   r|   r,   rŽ   rš   rd   )ri   r!   r�   Úxls       r(   Útest_conflicting_excel_enginesz0TestExcelFileRead.test_conflicting_excel_enginesq  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 )Nry   rb   rz   )re   rd   r}   rË  r   r¢   r£   )ri   r'   r!   rN   r   rB   r  s          r(   Útest_excel_read_binaryz(TestExcelFileRead.test_excel_read_binaryy  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 )Nry   rz   rb   )r}   re   rd   r¢   r£   )ri   r!   r'   r   r€   rN   s         r(   Ú%test_excel_read_binary_via_read_excelz7TestExcelFileRead.test_excel_read_binary_via_read_excelƒ  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.xlsxrz   zexceeds maximumr‡   r   r{   ro  )r}   r,   rŽ   rš   re   rd   )ri   r'   r   s      r(   Ú)test_read_excel_header_index_out_of_rangez;TestExcelFileRead.test_read_excel_header_index_out_of_rangeŠ  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Å   r5  )r©   zB.1ÚI11ÚI12r.  r{   r“   rB  )rQ   rÇ   r  r‰   r   r  )r   r   r�  r   re   rd   r¢   r£   )ri   r¯  r‘  ÚcolsrN   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   r{   )r£  rE   r'   z
2020-02-29z
2020-03-01r  r  r  r.  rg  )r\   re   r|   rd   rM   ÚDatetimeIndexr   r/  Úto_pydatetimer   r¢   r£   )ri   r:   r'   r!   r   rc   r  rT   ÚdtiÚexpected_column_indexrN   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š   re   rv  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   rW   r¡  r‰   )r,   re  rY   rZ   r[   re   r|   Úsheet_names)ri   r:   r'   r!   rc   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)ÚencodingFrb   )r
   r,   re  r   ÚbiffhrÂ  r    rÄ  r¢   rh  r   Ú
write_textrÊ  re   r|   )ri   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½  rl   r�   rØ  rZ   r¾  rÛ  rÝ  r°  r¹  r³  ræ  ré  rë  rí  rï  rö  rý  r   r  r  r1   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'   rJ   r#   r"   )rN   r   r!   r"   r'   r"   r#   rO   )=Ú
__future__r   r   r   Ú	functoolsr   rA   r   rã  Úpathlibr   rå  rŒ   Úurllib.errorr	   Úzipfiler
   Únumpyrï   r,   Úpandas._configr   Úpandas.compatr   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsrÂ  Úpandasre   r   r   r   r   r   Úpandas._testingÚ_testingr¢   Úpandas.core.arraysr   r   rZ   rÁ  Ú
pytestmarkr2   r-   rÅ  Úengine_paramsr)   r/   r½  r"   r;   r'   r!   rI   rM   rU   r\   r^   rÇ  r1   r*   r(   ú<module>r     s'  ðØ "Ð "Ð "Ð "Ð "Ð "ðð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 	€	€	€	Ø Ð Ð Ð Ð Ð Ø €€€Ø 	€	€	€	Ø !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø €€€à 5Ð 5Ð 5Ð 5Ð 5Ð 5à -Ð -Ð -Ð -Ð -Ð -Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )à Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð
 ÐÑÔð (Ø”Ô'€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ð
ð 
ð 
ð\0ð \0ð \0ð \0ð \0ñ \0ô \0ð \0ð~(Yð Yð Yð Yð Yñ Yô Yð Yð Yð Yr*   