§
    á! h%R  ã                   óÌ	  — d 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mZmZ ddlmZ ej                             d¦  «        Zej                             d¦  «        Zej                             d	¦  «        Zed
„ ¦   «         Zd„ Zej                             dg d¢ddgg¦  «        d„ ¦   «         Zej                             dddg¦  «        d„ ¦   «         Zed„ ¦   «         Zd„ Zed„ ¦   «         Zej                             ddddgidfddgddgdœdfddgddgdœdfg¦  «        d „ ¦   «         Z ed!d"d#g¦  «        Z eej                             d$dddgid%g d&¢d'œd% e d(d)¦  «         e d(d*¦  «         e d(d+¦  «         e d,d-¦  «         e d.d/¦  «         e d.d0¦  «        gd'œg¦  «        d1„ ¦   «         ¦   «         Z!eej                             d$dddgid2g d&¢d'œd2 e d(d)¦  «         e d(d*¦  «         e d(d+¦  «         e d,d-¦  «         e d.d/¦  «         e d.d0¦  «        gd'œg¦  «        d3„ ¦   «         ¦   «         Z"eej                             d$dddgid2g d&¢d'œd2 e d(d)¦  «         e d(d*¦  «         e d(d+¦  «         e d,d-¦  «         e d.d/¦  «         e d.d0¦  «        gd'œg¦  «        d4„ ¦   «         ¦   «         Z#ed5„ ¦   «         Z$ed6„ ¦   «         Z%ed7„ ¦   «         Z&ed8„ ¦   «         Z'ej                             d9d:d;g¦  «        d<„ ¦   «         Z(eej                             d$i ddig¦  «        d=„ ¦   «         ¦   «         Z)ej                             d>i g d?¢fd@g dA¢ig dA¢fg¦  «        dB„ ¦   «         Z*ej                             dd(d,gdCg¦  «        dD„ ¦   «         Z+edE„ ¦   «         Z,eej                             dFdG eg dH¢g ej-        g dI¢¦  «        ¬J¦  «        fdK eg dH¢g ej-        g dL¢¦  «        ¬J¦  «        fdM eg dN¢g ej-        g dO¢¦  «        ¬J¦  «        fg¦  «        dP„ ¦   «         ¦   «         Z.eej                             dddgg¦  «        ej                             dQddRdSgdSdRgdSdTgg¦  «        dU„ ¦   «         ¦   «         ¦   «         Z/edV„ ¦   «         Z0edW„ ¦   «         Z1edX„ ¦   «         Z2edY„ ¦   «         Z3edZ„ ¦   «         Z4d[„ Z5ed\„ ¦   «         Z6ed]„ ¦   «         Z7ed^„ ¦   «         Z8d_„ Z9dS )`zx
Tests that the file header is properly handled or inferred
during parsing for all of the parsers defined in parsers.py
é    )Ú
namedtuple)ÚStringION)ÚParserError)Ú	DataFrameÚIndexÚ
MultiIndexz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningÚpyarrow_xfailÚpyarrow_skipc                 óÄ   — | }d}t          j        t          |¬¦  «        5  t          d¦  «        }|                     |dg¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzbut only \d+ lines in file©Úmatchz,,é
   ©Úheader)ÚpytestÚraisesÚ
ValueErrorr   Úread_csv)Úall_parsersÚparserÚmsgÚss       ú\c:\xampp_lite_8_4\www\timesheet\venv\Lib\site-packages\pandas/tests/io/parser/test_header.pyÚtest_read_with_bad_headerr      s¨   € à€FØ
'€Cå	Œ•z¨Ð	-Ñ	-Ô	-ð (ð (Ý�T‰NŒNˆØ�Š˜ 2 $ˆÑ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (ó    (AÁAÁAc                 ó¾   — | }d}t          j        t          d¬¦  «        5  |                     t	          |¦  «        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nú$1,2,3,4,5
6,7,8,9,10
11,12,13,14,15
zUPassing negative integer to header is invalid. For no header, use header=None insteadr   éÿÿÿÿr   ©r   r   r   r   r   ©r   r   Údatas      r   Útest_negative_headerr"   '   s±   € à€Fð€Dõ 
ŒÝð1ð
ñ 
ô 
ð 3ð 3ð
 	�Š� ™œ¨rˆÑ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3ð 3ð 3ó    %AÁAÁAr   )r   é   é   éûÿÿÿc                 ó¾   — | }d}t          j        t          d¬¦  «        5  |                     t	          |¦  «        |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz<1,2,3,4,5
        6,7,8,9,10
        11,12,13,14,15
        z8cannot specify multi-index header with negative integersr   r   r   )r   r   r   r!   s       r   Ú test_negative_multi_index_headerr(   6   s±   € ð €Fð€Dõ 
ŒÝÐTð
ñ 
ô 
ð 7ð 7ð 	�Š� ™œ¨vˆÑ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð 7ð 7r#   TFc                 óÂ   — | }d}d}t          j        t          |¬¦  «        5  |                     t	          |¦  «        |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzMyColumn
a
b
a
bz#Passing a bool to header is invalidr   r   )r   r   Ú	TypeErrorr   r   )r   r   r   r!   r   s        r   Útest_bool_header_argr+   D   s¬   € ð €Fð€Dð 0€CÝ	Œ•y¨Ð	,Ñ	,Ô	,ð 7ð 7Ø�Š� ™œ¨vˆÑ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð 7ð 7ó   ¢%AÁAÁAc                 óÆ   — | }d}g d¢}|                      t          |¦  «        |¬¦  «        }t          g d¢g d¢g d¢gg d¢g d¢¬¦  «        }t          j        ||¦  «         d S )	Nzfoo,1,2,3
bar,4,5,6
baz,7,8,9
©ÚAÚBÚC©Únames©é   r$   é   )r%   é   é   )é   é   é	   )ÚfooÚbarÚbaz©ÚindexÚcolumns©r   r   r   ÚtmÚassert_frame_equal)r   r   r!   r3   ÚresultÚexpecteds         r   Útest_header_with_index_colrG   S   s‰   € à€Fð€Dð ˆOˆO€EØ�_Š_�X d™^œ^°5ˆ_Ñ9Ô9€FåØ	ˆˆ�I�I�I˜y˜y˜yÐ)Ø#Ð#Ð#Ø��ðñ ô €Hõ
 Ô˜& (Ñ+Ô+Ð+Ð+Ð+ó    c                 óÐ   — | }d}d}|                      t          |¦  «        dd¬¦  «        }|                      t          |¦  «        dd¬¦  «        }t          j        ||¦  «         d S )Nzggot,to,ignore,this,line
got,to,ignore,this,line
index,A,B,C,D
foo,2,3,4,5
bar,7,8,9,10
baz,12,13,14,15
z7index,A,B,C,D
foo,2,3,4,5
bar,7,8,9,10
baz,12,13,14,15
r$   r   ©r   Ú	index_col©r   r   rC   rD   )r   r   r!   Údata2rE   rF   s         r   Útest_header_not_first_linerN   e   sj   € Ø€Fð€Dð€Eð �_Š_�X d™^œ^°AÀˆ_ÑCÔC€FØ�Š�x¨™œ°qÀAˆÑFÔF€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+rH   c           	      ól  ‡— | }d}|                      t          |¦  «        g d¢ddg¬¦  «        }d„ Šˆfd„t          d¦  «        D ¦   «         }t          j        d	„ t          d¦  «        D ¦   «         d
„ t          d¦  «        D ¦   «         gddg¬¦  «        }t          j        d„ t          d¦  «        D ¦   «         d„ t          d¦  «        D ¦   «         d„ t          d¦  «        D ¦   «         d„ t          d¦  «        D ¦   «         gg d¢¬¦  «        }t          |||¬¦  «        }t          j        ||¦  «         d S )Ná  C0,,C_l0_g0,C_l0_g1,C_l0_g2

C1,,C_l1_g0,C_l1_g1,C_l1_g2
C2,,C_l2_g0,C_l2_g1,C_l2_g2
C3,,C_l3_g0,C_l3_g1,C_l3_g2
R0,R1,,,
R_l0_g0,R_l1_g0,R0C0,R0C1,R0C2
R_l0_g1,R_l1_g1,R1C0,R1C1,R1C2
R_l0_g2,R_l1_g2,R2C0,R2C1,R2C2
R_l0_g3,R_l1_g3,R3C0,R3C1,R3C2
R_l0_g4,R_l1_g4,R4C0,R4C1,R4C2
©r   r5   r$   r6   r   r5   rJ   c                 ó   — d| › d|› �S )NÚRr1   © )ÚrÚcs     r   ú<lambda>z)test_header_multi_index.<locals>.<lambda>‹   s   € ˜k !˜k˜k a˜k˜k€ rH   c                 óJ   •‡— g | ]Šˆˆfd „t          d¦  «        D ¦   «         ‘ŒS )c                 ó(   •— g | ]} ‰‰|¦  «        ‘ŒS rT   rT   )Ú.0rV   Ú
data_gen_frU   s     €€r   ú
<listcomp>z6test_header_multi_index.<locals>.<listcomp>.<listcomp>�   s%   ø€ Ð0Ð0Ð0 !ˆZˆZ˜˜1ÑÔÐ0Ð0Ð0rH   r6   )Úrange)rZ   rU   r[   s    @€r   r\   z+test_header_multi_index.<locals>.<listcomp>�   s8   øø€ ÐCÐCÐC°QÐ0Ð0Ð0Ð0Ð0¥u¨Q¡x¤xÐ0Ñ0Ô0ÐCÐCÐCrH   r7   c                 ó   — g | ]}d |› �‘ŒS )ÚR_l0_grT   ©rZ   Úis     r   r\   z+test_header_multi_index.<locals>.<listcomp>�   s   € Ð	)Ð	)Ð	)˜1ˆ,�1ˆ,ˆ,Ð	)Ð	)Ð	)rH   c                 ó   — g | ]}d |› �‘ŒS )ÚR_l1_grT   r`   s     r   r\   z+test_header_multi_index.<locals>.<listcomp>�   s   € Ð+KÐ+KÐ+K¸Q¨L°Q¨L¨LÐ+KÐ+KÐ+KrH   ÚR0ÚR1r2   c                 ó   — g | ]}d |› �‘ŒS )ÚC_l0_grT   r`   s     r   r\   z+test_header_multi_index.<locals>.<listcomp>”   ó   € Ð,Ð,Ð,˜aˆ\�aˆ\ˆ\Ð,Ð,Ð,rH   r6   c                 ó   — g | ]}d |› �‘ŒS )ÚC_l1_grT   r`   s     r   r\   z+test_header_multi_index.<locals>.<listcomp>•   rh   rH   c                 ó   — g | ]}d |› �‘ŒS )ÚC_l2_grT   r`   s     r   r\   z+test_header_multi_index.<locals>.<listcomp>–   rh   rH   c                 ó   — g | ]}d |› �‘ŒS )ÚC_l3_grT   r`   s     r   r\   z+test_header_multi_index.<locals>.<listcomp>—   rh   rH   )ÚC0ÚC1ÚC2ÚC3)rA   r@   )r   r   r]   r   Úfrom_arraysr   rC   rD   )r   r   r!   rE   r@   rA   rF   r[   s          @r   Útest_header_multi_indexrt   y   sa  ø€ à€Fð€Dð �_Š_�X d™^œ^°L°L°LÈQÐPQÈFˆ_ÑSÔS€FØ)Ð)€JàCÐCÐCÐC½%À¹(¼(ÐCÑCÔC€DÝÔ"Ø	)Ð	)¥ a¡¤Ð	)Ñ	)Ô	)Ð+KÐ+KÅ%ÈÁ(Ä(Ð+KÑ+KÔ+KÐLØ�Tˆlðñ ô €Eõ Ô$à,Ð,¥5¨¡8¤8Ð,Ñ,Ô,Ø,Ð,¥5¨¡8¤8Ð,Ñ,Ô,Ø,Ð,¥5¨¡8¤8Ð,Ñ,Ô,Ø,Ð,¥5¨¡8¤8Ð,Ñ,Ô,ð		
ð 'Ð&Ð&ðñ ô €Gõ ˜ w°eÐ<Ñ<Ô<€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+rH   z
kwargs,msgrK   r<   r=   zLindex_col must only contain row numbers when specifying a multi-index headerr5   )rK   r3   z9cannot specify names when specifying a multi-index header)rK   Úusecolsz;cannot specify usecols when specifying a multi-index headerc                 ó´   — d}| }t          j        t          |¬¦  «        5   |j        t	          |¦  «        fdg d¢i|¤Ž d d d ¦  «         d S # 1 swxY w Y   d S )NrP   r   r   rQ   r   )r   Úkwargsr   r!   r   s        r   Útest_header_multi_index_invalidrx   Ÿ   sÆ   € ð,€Dð €Få	Œ•z¨Ð	-Ñ	-Ô	-ð Gð GØˆŒ� ™œÐFÐF¨|¨|¨|ÐF¸vÐFÐFÐFðGð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gð Gð Gs     AÁAÁAÚ
_TestTupleÚfirstÚsecondrw   r6   ©)ÚaÚq)r}   rU   )r}   r   )ÚbÚt)rV   Úu)rV   Úv)Úskiprowsr3   r}   r~   rU   r   r   r€   rV   r�   r‚   c                 óÎ   — | }t          g d¢g d¢gddgt          j        g d¢¦  «        ¬¦  «        }d} |j        t	          |¦  «        fdd	i|¤Ž}t          j        ||¦  «         d S )
N©r5   r$   r6   r%   r7   r8   ©r9   r:   r;   r   é   é   ÚoneÚtwor|   r?   zC,a,a,a,b,c,c
,q,r,s,t,u,v
,,,,,,
one,1,2,3,4,5,6
two,7,8,9,10,11,12rK   r   ©r   r   Úfrom_tuplesr   r   rC   rD   ©r   rw   r   rF   r!   rE   s         r   Ú&test_header_multi_index_common_format1rŽ   Ë   s˜   € ð< €FÝØ	Ð	Ð	Ð2Ð2Ð2Ð3Ø�eˆnÝÔ&ØTÐTÐTñ
ô 
ðñ ô €Hð€Dð ˆVŒ_�X d™^œ^ÐCÐC°qÐC¸FÐCÐC€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+rH   r$   c                 óÎ   — | }t          g d¢g d¢gddgt          j        g d¢¦  «        ¬¦  «        }d} |j        t	          |¦  «        fdd	i|¤Ž}t          j        ||¦  «         d S )
Nr…   r†   r‰   rŠ   r|   r?   z<,a,a,a,b,c,c
,q,r,s,t,u,v
one,1,2,3,4,5,6
two,7,8,9,10,11,12rK   r   r‹   r�   s         r   Ú&test_header_multi_index_common_format2r�   û   s˜   € ð< €FÝØ	Ð	Ð	Ð2Ð2Ð2Ð3Ø�eˆnÝÔ&ØTÐTÐTñ
ô 
ðñ ô €Hð€Dð
 ˆVŒ_�X d™^œ^ÐCÐC°qÐC¸FÐCÐC€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+rH   c                 óú   — | }t          g d¢g d¢gddgt          j        g d¢¦  «        ¬¦  «        }|                     d¬¦  «        }d	} |j        t          |¦  «        fd
d i|¤Ž}t          j        ||¦  «         d S )Nr…   r†   r‰   rŠ   r|   r?   T)Údropú2a,a,a,b,c,c
q,r,s,t,u,v
1,2,3,4,5,6
7,8,9,10,11,12rK   )r   r   rŒ   Úreset_indexr   r   rC   rD   r�   s         r   Ú&test_header_multi_index_common_format3r•   *  s°   € ð< €FÝØ	Ð	Ð	Ð2Ð2Ð2Ð3Ø�eˆnÝÔ&ØTÐTÐTñ
ô 
ðñ ô €Hð ×#Ò#¨Ð#Ñ.Ô.€Hð€Dð
 ˆVŒ_�X d™^œ^ÐFÐF°tÐF¸vÐFÐF€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+rH   c           
      ó8  — | }t          t          j        g d¢g d¢gd¬¦  «        t          ddg¦  «        t	          g d¢g d¢gg d	¢g d
¢gddg¬¦  «        ¬¦  «        }d}|                     t          |¦  «        ddgd¬¦  «        }t          j        ||¦  «         d S )N©r$   r6   r%   r7   r8   ©r:   r;   r   r‡   rˆ   Úint64©Údtyper5   r9   ©r}   r   rV   ©rU   r   r€   r�   r‚   ©r   r   r5   r$   r$   ©r   r5   r$   r6   r%   r}   r~   ©ÚlevelsÚcodesr3   r?   r“   r   rJ   ©	r   ÚnpÚarrayr   r   r   r   rC   rD   ©r   r   rF   r!   rE   s        r   Ú0test_header_multi_index_common_format_malformed1r§   Z  sÉ   € à€FÝÝ
Œ�/�/�/Ð#5Ð#5Ð#5Ð6¸gÐFÑFÔFÝ�Q˜�F‰mŒmÝØ#�O�OÐ%>Ð%>Ð%>Ð?Ø"�?�? O O OÐ4Ø˜�*ð
ñ 
ô 
ðñ ô €Hð€Dð
 �_Š_�X d™^œ^°Q¸°FÀaˆ_ÑHÔH€FÝÔ˜( FÑ+Ô+Ð+Ð+Ð+rH   c           
      ó8  — | }t          t          j        g d¢g d¢gd¬¦  «        t          ddg¦  «        t	          g d¢g d¢gg d	¢g d
¢gd dg¬¦  «        ¬¦  «        }d}|                     t          |¦  «        ddgd¬¦  «        }t          j        ||¦  «         d S )Nr—   r˜   r™   rš   r5   r9   rœ   r�   rž   rŸ   r~   r    r?   ú1,a,a,b,c,c
q,r,s,t,u,v
1,2,3,4,5,6
7,8,9,10,11,12r   rJ   r£   r¦   s        r   Ú0test_header_multi_index_common_format_malformed2rª   o  sÉ   € à€FÝÝ
Œ�/�/�/Ð#5Ð#5Ð#5Ð6¸gÐFÑFÔFÝ�Q˜�F‰mŒmÝØ#�O�OÐ%>Ð%>Ð%>Ð?Ø"�?�? O O OÐ4Ø˜�+ð
ñ 
ô 
ðñ ô €Hð€Dð
 �_Š_�X d™^œ^°Q¸°FÀaˆ_ÑHÔH€FÝÔ˜( FÑ+Ô+Ð+Ð+Ð+rH   c           
      óT  — | }t          t          j        g d¢g d¢gd¬¦  «        t          ddgddggd	dgd	dgg¬
¦  «        t          g d¢g d¢gg d¢g d¢gd dg¬¦  «        ¬¦  «        }d}|                     t          |¦  «        d	dgd	dg¬¦  «        }t          j        ||¦  «         d S )N)r6   r%   r7   r8   )r;   r   r‡   rˆ   r™   rš   r5   r9   r$   r:   r   )r¡   r¢   rœ   )r   r€   r�   r‚   )r   r5   r$   r$   rQ   r~   r    r?   r©   rJ   )r   r¤   r¥   r   r   r   rC   rD   r¦   s        r   Ú0test_header_multi_index_common_format_malformed3r¬   …  sç   € à€FÝÝ
Œ�,�,�,   Ð0¸Ð@Ñ@Ô@Ý ! Q ¨!¨Q¨Ð 0¸!¸Q¸À!ÀQÀÐ8HÐIÑIÔIÝØ#�O�OÐ%9Ð%9Ð%9Ð:Ø�<�<   Ð.Ø˜�+ð
ñ 
ô 
ðñ ô €Hð€Dð
 �_Š_�X d™^œ^°Q¸°FÀqÈ!Àfˆ_ÑMÔM€FÝÔ˜( FÑ+Ô+Ð+Ð+Ð+rH   c                 óè   — | }d d gddgddgg}t          j        ddg¦  «        }t          ||¬¦  «        }d}|                     t	          |¦  «        d	dg¬
¦  «        }t          j        ||¦  «         d S )Nr5   r$   r6   r%   )r}   r/   )r   r0   ©rA   za,b
A,B
,
1,2
3,4r   r   )r   rŒ   r   r   r   rC   rD   )r   r   r!   rA   rF   rE   s         r   Ú"test_header_multi_index_blank_liner¯   š  s…   € ð €FØ�4ˆL˜1˜a˜& 1 a &Ð)€DÝÔ$ j°*Ð%=Ñ>Ô>€GÝ˜ wÐ/Ñ/Ô/€HØ"€DØ�_Š_�X d™^œ^°Q¸°Fˆ_Ñ;Ô;€FÝÔ˜( FÑ+Ô+Ð+Ð+Ð+rH   zdata,header)ú1,2,3
4,5,6N)zfoo,bar,baz
1,2,3
4,5,6r   c                 óR  — | }|j         dk    r7|�5t          j                             d¬¦  «        }|                     |¦  «         |                     t          d¦  «        g d¢¬¦  «        }|                     t          |¦  «        g d¢|¬¦  «        }t          j        ||¦  «         d S )NÚpyarrowzDataFrame.columns are different)Úreasonr°   rœ   r2   ©r3   r   )	Úenginer   ÚmarkÚxfailÚapplymarkerr   r   rC   rD   )r   r!   r   Úrequestr   r¶   rF   rE   s           r   Ú!test_header_names_backward_compatrº   ¦  s£   € ð
 €Fà„}˜	Ò!Ð! fÐ&8ÝŒ{× Ò Ð(IÐ ÑJÔJˆØ×Ò˜DÑ!Ô!Ð!à�Š�x¨Ñ7Ô7¸¸¸ˆÑOÔO€Hà�_Š_�X d™^œ^°?°?°?È6ˆ_ÑRÔR€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+rH   c                 óŽ   — | }t          g d¢¬¦  «        } |j        t          d¦  «        fi |¤Ž}t          j        ||¦  «         d S )Nrœ   r®   za,b,c©r   r   r   rC   rD   )r   rw   r   rF   rE   s        r   Útest_read_only_header_no_rowsr½   ·  sW   € ð €FÝ   Ð1Ñ1Ô1€HàˆVŒ_�X gÑ.Ô.Ð9Ð9°&Ð9Ð9€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+rH   zkwargs,namesrŸ   r3   )r<   r=   r>   ÚquuxÚpandac                 ó¦   — | }d}t          g d¢g d¢g d¢g|¬¦  «        } |j        t          |¦  «        fdd i|¤Ž}t          j        ||¦  «         d S )Nr   )r5   r$   r6   r%   r7   )r8   r9   r:   r;   r   )r‡   rˆ   é   é   é   r®   r   r¼   )r   rw   r3   r   r!   rF   rE   s          r   Útest_no_headerrÄ   Â  sƒ   € ð €Fð€Dõ Ø	ˆˆÐ*Ð*Ð*Ð,@Ð,@Ð,@ÐAÈ5ðñ ô €Hð ˆVŒ_�X d™^œ^ÐCÐC°DÐC¸FÐCÐC€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+rH   Ústring_headerc                 óÂ   — d}d}| }t          j        t          |¬¦  «        5  |                     t	          |¦  «        |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz*header must be integer or list of integersz1,2
3,4r   r   r   )r   r   r   r!   r   s        r   Útest_non_int_headerrÇ   Ù  s¨   € ð 7€CØ€DØ€Få	Œ•z¨Ð	-Ñ	-Ô	-ð 7ð 7Ø�Š� ™œ¨vˆÑ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð 7ð 7r,   c                 ó´   — d}| }t          ddgddgddgdœ¦  «        }|                     t          |¦  «        dg¬¦  «        }t          j        ||¦  «         d S )Nza,b,c
0,1,2
1,2,3r   r5   r$   r6   rœ   r   r¼   )r   r!   r   rF   rE   s        r   Útest_singleton_headerrÉ   ä  sg   € ð %€DØ€Få  1˜v¨Q°¨F¸!¸Q¸Ð@Ð@ÑAÔA€HØ�_Š_�X d™^œ^°Q°Cˆ_Ñ8Ô8€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+rH   zdata,expectedz#A,A,A,B
one,one,one,two
0,40,34,0.1)r   é(   é"   çš™™™™™¹?)©r/   r‰   ©r/   zone.1)r/   zone.2©r0   rŠ   r®   z%A,A,A,B
one,one,one.1,two
0,40,34,0.1)rÍ   rÎ   ©r/   zone.1.1rÏ   z/A,A,A,B,B
one,one,one.1,two,two
0,40,34,0.1,0.1)r   rÊ   rË   rÌ   rÌ   )rÍ   rÎ   rÐ   rÏ   )r0   ztwo.1c                 ó€   — | }|                      t          |¦  «        ddg¬¦  «        }t          j        ||¦  «         d S )Nr   r5   r   rL   )r   r!   rF   r   rE   s        r   Útest_mangles_multi_indexrÒ   ï  sB   € ðR €Fà�_Š_�X d™^œ^°Q¸°Fˆ_Ñ;Ô;€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+rH   rA   Ú ÚUnnamedÚ
NotUnnamedc                 óü  — | }ddg}|€d                      |pddg¦  «        dz   }n d                      dg|pddgz   ¦  «        dz   }|                     t          |¦  «        ||¬¦  «        }g }|€g d¢}t          |¦  «        D ])\  }}	|	sd	|€|n|dz   › d
�}	|                     |	¦  «         Œ*t          j        t          |ddg¦  «        ¦  «        }t          ddgddgg|¬¦  «        }
t          j
        ||
¦  «         d S )Nr   r5   ú,rÓ   z
0,1
2,3
4,5
z
,0,1
0,2,3
1,4,5
rJ   )rÓ   rÓ   rÓ   z	Unnamed: Ú_level_0Ú0Ú1r$   r6   r%   r7   r®   )Újoinr   r   Ú	enumerateÚappendr   rŒ   Úzipr   rC   rD   )r   rK   rA   r   r   r!   rE   Úexp_columnsra   ÚcolrF   s              r   Útest_multi_index_unnamedrá     s?  € ð €FØ�ˆV€FàÐØ�xŠx˜Ð+ B¨ 8Ñ,Ô,Ð/BÑBˆˆà�xŠx˜˜ Ð 3¨B°¨8Ñ4Ñ5Ô5Ð8PÑPˆà�_Š_�X d™^œ^°FÀiˆ_ÑPÔP€FØ€Kà€Ø�,�,ˆå˜GÑ$Ô$ð  ð  ‰ˆˆ3Øð 	JØI 9Ð#4˜a˜a¸!¸a¹%ÐIÐIÐIˆCà×Ò˜3ÑÔÐÐåÔ$¥S¨°s¸C°jÑ%AÔ%AÑBÔB€GÝ˜1˜a˜& 1 a &Ð)°7Ð;Ñ;Ô;€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+rH   c                 ó¸   — | }d}|                      t          |¦  «        dg d¢¬¦  «        }t          ddgddgd	d
gdœ¦  «        }t          j        ||¦  «         d S )Nza, b
1,2,3
5,6,4
r   r.   )r   r3   r5   r7   r$   r8   r6   r%   rB   ©r   r   r!   rE   rF   s        r   Ú6test_names_longer_than_header_but_equal_with_data_rowsrä   E  so   € ð €Fð€Dð �_Š_�X d™^œ^°A¸_¸_¸_ˆ_ÑMÔM€FÝ  1˜v¨Q°¨F¸!¸Q¸Ð@Ð@ÑAÔA€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+rH   c                 ór  — | }d}d}t          j        g d¢¦  «        }t          g d¢g d¢g|¬¦  «        }|                     t	          |¦  «        ddg¬	¦  «        }t          j        ||j        d d…         ¦  «         |                     t	          |¦  «        ddg¬	¦  «        }t          j        ||¦  «         d S )
NzFMale, Male, Male, Female, Female
R, R, L, R, R
.86, .67, .88, .78, .81z^Male, Male, Male, Female, Female
R, R, L, R, R
.86, .67, .88, .78, .81
.86, .67, .88, .78, .82))ÚMalerS   )ú Maleú R)rç   z L)ú Femalerè   )ré   z R.1)ç…ëQ¸…ë?çq=
×£på?ç)\�Âõ(ì?çö(\�Âõè?gìQ¸…ëé?)rê   rë   rì   rí   g=
×£p=ê?r®   r   r5   r   )r   rŒ   r   r   r   rC   rD   Úiloc)r   r   Ús1Ús2ÚmirF   Údf1Údf2s           r   Ú test_read_csv_multiindex_columnsrô   R  sà   € ð €Fà	S€Bð	"ð õ 
Ô	ð	
ð 	
ð 	
ñ
ô 
€Bõ Ø	'Ð	'Ð	'Ð)GÐ)GÐ)GÐHÐRTðñ ô €Hð �/Š/�( 2™,œ,°°1¨vˆ/Ñ
6Ô
6€CÝÔ˜#˜xœ}¨R¨a¨RÔ0Ñ1Ô1Ð1Ø
�/Š/�( 2™,œ,°°1¨vˆ/Ñ
6Ô
6€CÝÔ˜#˜xÑ(Ô(Ð(Ð(Ð(rH   c                 óÂ   — | }d}t          j        t          d¬¦  «        5  |                     t	          |¦  «        ddg¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz1row11,row12,row13
row21,row22, row23
row31,row32
z1Header rows must have an equal number of columns.r   r   r$   r   ©r   r   r   r   r   )r   r   Úcases      r   Ú'test_read_csv_multi_header_length_checkrø   r  sµ   € ð €Fð€Dõ
 
ŒÝÐNð
ñ 
ô 
ð 7ð 7ð 	�Š� ™œ°°1¨vˆÑ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð 7ð 7s    'AÁAÁAc                 óä   — | }d}|                      t          |¦  «        ddgd ¬¦  «        }t          g d¢dt          j        t          j        gdœg d¢¬	¦  «        }t          j        ||¦  «         d S )
Nzx,1,5
y,2
z,3
r}   r   r´   r4   r7   ©r}   r   )ÚxÚyÚz)r@   )r   r   r   r¤   ÚnanrC   rD   rã   s        r   Ú#test_header_none_and_implicit_indexrÿ   ‚  s~   € ð €FØ€DØ�_Š_�X d™^œ^°C¸°:Àdˆ_ÑKÔK€FÝØˆiˆi˜q¥"¤&­"¬&Ð1Ð2Ð2¸/¸/¸/ðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+rH   c                 óÄ   — | }d}t          j        t          d¬¦  «        5  |                     t	          |¦  «        ddgd ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Núx,1
y,2,5
z,3
z"Expected 2 fields in line 2, saw 3r   r}   r   r´   rö   r    s      r   Ú1test_header_none_and_implicit_index_in_second_rowr  Ž  s¾   € ð €FØ€DÝ	Œ•{Ð*NÐ	OÑ	OÔ	Oð Gð GØ�Š� ™œ¨s°C¨jÀˆÑFÔFÐFðGð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gð Gð Gr   c                 ó´   — | }d}|                      t          |¦  «        ddgd d¬¦  «        }t          ddgdd	gd
œ¦  «        }t          j        ||¦  «         d S )Nr  r}   r   Úskip)r3   r   Úon_bad_linesrû   rý   r5   r6   rú   rB   rã   s        r   Ú&test_header_none_and_on_bad_lines_skipr  —  so   € à€FØ€DØ�_Š_Ý�‰Œ˜s C˜j°ÀFð ñ ô €Fõ   S˜z°°A°Ð7Ð7Ñ8Ô8€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+rH   c                 óÆ   — | }d}d}t          j        t          |¬¦  «        5  |                     t	          |¦  «        g d¢¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nza,b
1,2
z;Passed header=\[0,1,2\], len of 3, but only 2 lines in filer   )r   r5   r$   r   r   )r   r   r!   r   s       r   Útest_header_missing_rowsr  ¢  s±   € ð €Fð€Dð I€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð :ð :Ø�Š� ™œ¨y¨y¨yˆÑ9Ô9Ð9ð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :ð :ð :s   ¢'AÁAÁAc                 ó¨   — | }d}|                      t          |¦  «        d¬¦  «        }t          dgdddœ¦  «        }t          j        ||¦  «         d S )Nz1aa    bb(1,1)   cc(1,1)
                0  2  3.5z\s+)Úsepr   r$   g      @)Úaazbb(1,1)zcc(1,1)rB   rã   s        r   Ú test_header_multiple_whitespacesr  ¯  s_   € ð €Fð€Dð �_Š_�X d™^œ^°ˆ_Ñ8Ô8€FÝ  °¸cÐBÐBÑCÔC€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+rH   c                 ó  — | }d}d}t          j        t          |d¬¦  «        5  |                     t	          |¦  «        d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ddd	gi¦  «        }t          j        ||¦  «         d S )
Nza,b
1,2
3,4
    z;The 'delim_whitespace' keyword in pd.read_csv is deprecatedF)r   Úcheck_stacklevelT)Údelim_whitespaceza,bz1,2z3,4)rC   Úassert_produces_warningÚFutureWarningr   r   r   rD   )r   r   r!   Údepr_msgrE   rF   s         r   Útest_header_delim_whitespacer  ¼  së   € ð €Fð€Dð
 M€HÝ	Ô	#Ý˜X¸ð
ñ 
ô 
ð Hð Hð —’¥¨$¡¤À$�ÑGÔGˆðHð Hð Hñ Hô Hð Hð Hð Hð Hð Hð Høøøð Hð Hð Hð Hõ ˜% %¨ Ð0Ñ1Ô1€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+s   £%AÁAÁAc                 óº   — | }d}|                      t          |¦  «        d ddgddd¬¦  «        }t          ddgd	d
ggd¬¦  «        }t          j        ||¦  «         d S )Nz
a,i,x
b,j,y
r   r5   zstring[pyarrow]r²   )r   ru   r›   Údtype_backendrµ   r}   ra   r   Újrš   rB   )Úpyarrow_parser_onlyr   r!   rE   rF   s        r   Útest_usecols_no_header_pyarrowr  Î  s   € Ø €Fð€Dð �_Š_Ý�‰ŒØØ�A�ØØØð ñ ô €Fõ ˜3 ˜* s¨C jÐ1Ð9JÐKÑKÔK€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+rH   ):Ú__doc__Úcollectionsr   Úior   Únumpyr¤   r   Úpandas.errorsr   Úpandasr   r   r   Úpandas._testingÚ_testingrC   r¶   ÚfilterwarningsÚ
pytestmarkÚusefixturesÚxfail_pyarrowÚskip_pyarrowr   r"   Úparametrizer(   r+   rG   rN   rt   rx   ry   rŽ   r�   r•   r§   rª   r¬   r¯   rº   r½   rÄ   rÇ   rÉ   rŒ   rÒ   rá   rä   rô   rø   rÿ   r  r  r  r  r  r  rT   rH   r   ú<module>r'     s'	  ððð ð
 #Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø €€€à %Ð %Ð %Ð %Ð %Ð %ðð ð ð ð ð ð ð ð ð ð
 Ð Ð Ð Ð Ð àŒ[×'Ò'ØCñô €
ð ”×'Ò'¨Ñ8Ô8€ØŒ{×&Ò& ~Ñ6Ô6€ð ð(ð (ñ „ð(ð3ð 3ð 3ð „×Ò˜ Z Z Z°B¸°7Ð#<Ñ=Ô=ð
7ð 
7ñ >Ô=ð
7ð „×Ò˜ D¨% =Ñ1Ô1ð7ð 7ñ 2Ô1ð7ð ð,ð ,ñ „ð,ð",ð ,ð ,ð( ð",ð ",ñ „ð",ðJ „×ÒØð ˜5 %˜.Ð)ð'ð	
ð ˜a˜&¨E°5¨>Ð:Ð:ØHð	
ð
 ˜a˜&¨e°U¨^Ð<Ð<ØJð	
ðñô ð*Gð Gñ+ô ð*Gð( ˆZ˜ w°Ð&9Ñ:Ô:€
ð Ø„×ÒØà	�A�q�6Ðàðð ð ð
	
ð 
	
ð à�
˜3 Ñ$Ô$Ø�
˜3 Ñ$Ô$Ø�
˜3 Ñ$Ô$Ø�
˜3 Ñ$Ô$Ø�
˜3 Ñ$Ô$Ø�
˜3 Ñ$Ô$ðð
	
ð 
	
ðñô ð8,ð ,ñ9ô ñ „ð:,ð& Ø„×ÒØà	�A�q�6Ðàðð ð ð
	
ð 
	
ð à�
˜3 Ñ$Ô$Ø�
˜3 Ñ$Ô$Ø�
˜3 Ñ$Ô$Ø�
˜3 Ñ$Ô$Ø�
˜3 Ñ$Ô$Ø�
˜3 Ñ$Ô$ðð
	
ð 
	
ðñô ð8,ð ,ñ9ô ñ „ð:,ð$ Ø„×ÒØà	�A�q�6Ðàðð ð ð
	
ð 
	
ð à�
˜3 Ñ$Ô$Ø�
˜3 Ñ$Ô$Ø�
˜3 Ñ$Ô$Ø�
˜3 Ñ$Ô$Ø�
˜3 Ñ$Ô$Ø�
˜3 Ñ$Ô$ðð
	
ð 
	
ðñô ð8,ð ,ñ9ô ñ „ð:,ð& ð,ð ,ñ „ð,ð( ð,ð ,ñ „ð,ð* ð,ð ,ñ „ð,ð( ð,ð ,ñ „ð,ð „×ÒØÐ*Ð,LÐMñô ð,ð ,ñô ð,ð Ø„×Ò˜ B¨°eÐ(<Ð#=Ñ>Ô>ð,ð ,ñ ?Ô>ñ „ð,ð „×ÒØà	ˆ_ˆ_ˆ_ÐàÐ<Ð<Ð<Ð=Ø2Ð2Ð2ð	
ðñ	ô 	ð
,ð 
,ñ	ô 	ð
,ð „×Ò˜ S¨# J°Ð#@ÑAÔAð7ð 7ñ BÔAð7ð ð,ð ,ñ „ð,ð Ø„×ÒØð 4ØˆIØ!Ð!Ð!Ð"Ø.˜
Ô.ØPÐPÐPñô ðñ ô ð	
ð 6ØˆIØ!Ð!Ð!Ð"Ø.˜
Ô.ØRÐRÐRñô ðñ ô ð	
ð @ØˆIØ&Ð&Ð&Ð'Ø.˜
Ô.ðð ð ñô ðñ ô ð	
ð'"ñ%ô %ðL,ð ,ñM%ô %ñ „ðN,ð Ø„×Ò˜ t¨a¨S kÑ2Ô2Ø„×ÒØ�˜˜I�¨9°b¨/¸iÈÐ=VÐXñô ð,ð ,ñô ñ 3Ô2ñ „ð
,ðD ð	,ð 	,ñ „ð	,ð ð)ð )ñ „ð)ð> ð7ð 7ñ „ð7ð ð,ð ,ñ „ð,ð ðGð Gñ „ðGð,ð ,ð ,ð ð:ð :ñ „ð:ð ð,ð ,ñ „ð,ð ð,ð ,ñ „ð,ð",ð ,ð ,ð ,ð ,rH   