Ë
    ¤e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"                  j%                  d«      Zej"                  j)                  d«      Zej"                  j)                  d	«      Zed
„ «       Zd„ Zej"                  j3                  dg d¢ddgg«      d„ «       Zej"                  j3                  dddg«      d„ «       Zed„ «       Zd„ Zed„ «       Zej"                  j3                  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"                  j3                  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"                  j3                  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"                  j3                  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"                  j3                  d9d:d;g«      d<„ «       Z(eej"                  j3                  d$i ddig«      d=„ «       «       Z)ej"                  j3                  d>i g d?¢fd@g dA¢ig dA¢fg«      dB„ «       Z*ej"                  j3                  dd(d,gdCg«      dD„ «       Z+edE„ «       Z,eej"                  j3                  dFdG eg dH¢g ejZ                  g dI¢«      ¬J«      fdK eg dH¢g ejZ                  g dL¢«      ¬J«      fdM eg dN¢g ejZ                  g dO¢«      ¬J«      fg«      dP„ «       «       Z.eej"                  j3                  dddgg«      ej"                  j3                  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_„ Z9y)`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«      }|j	                  |dg¬«       d d d «       y # 1 sw Y   y xY w)Nzbut only \d+ lines in file©Úmatchz,,é
   ©Úheader)ÚpytestÚraisesÚ
ValueErrorr   Úread_csv)Úall_parsersÚparserÚmsgÚss       ú`/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/io/parser/test_header.pyÚtest_read_with_bad_headerr      sJ   € à€FØ
'€Cä	�‰”z¨Ô	-ñ (Ü�T‹NˆØ�‰˜ 2 $ˆÔ'÷(÷ (ñ (úó     A	Á	Ac                 ó¤   — | }d}t        j                  t        d¬«      5  |j                  t	        |«      d¬«       d d d «       y # 1 sw Y   y xY w)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"   '   sO   € à€Fð€Dô 
�‰Üð1ô
ñ 3ð
 	�‰œ ›¨rˆÔ2÷3÷ 3ñ 3úó    AÁAr   )r   é   é   éûÿÿÿc                 ó¤   — | }d}t        j                  t        d¬«      5  |j                  t	        |«      |¬«       d d d «       y # 1 sw Y   y xY w)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   sO   € ð €Fð€Dô 
�‰ÜÐTô
ñ 7ð 	�‰œ ›¨vˆÔ6÷7÷ 7ñ 7úr#   TFc                 ó¨   — | }d}d}t        j                  t        |¬«      5  |j                  t	        |«      |¬«       d d d «       y # 1 sw Y   y xY w)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   sN   € ð €Fð€Dð 0€CÜ	�‰”y¨Ô	,ñ 7Ø�‰œ ›¨vˆÔ6÷7÷ 7ñ 7úó   ¢AÁAc                 ó®   — | }d}g d¢}|j                  t        |«      |¬«      }t        g d¢g d¢g d¢gg d¢g d¢¬«      }t        j                  ||«       y )	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   sW   € à€Fð€Dò €EØ�_‰_œX d›^°5ˆ_Ó9€FäÚ	’IšyÐ)Ú#Úô€Hô
 ×Ñ˜& (Õ+ó    c                 ó°   — | }d}d}|j                  t        |«      dd¬«      }|j                  t        |«      dd¬«      }t        j                  ||«       y )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   sW   € Ø€Fð€Dð€Eð �_‰_œX d›^°AÀˆ_ÓC€FØ�‰œx¨›°qÀAˆÓF€HÜ×Ñ˜& (Õ+rH   c                 ó  — | }d}|j                  t        |«      g d¢ddg¬«      }d„ }t        d«      D ��cg c]"  }t        d«      D �cg c]  } |||«      ‘Œ c}‘Œ$ }}}t        j                  t        d«      D �cg c]  }d	|› �‘Œ	 c}t        d«      D �cg c]  }d
|› �‘Œ	 c}gddg¬«      }t        j                  t        d«      D �cg c]  }d|› �‘Œ	 c}t        d«      D �cg c]  }d|› �‘Œ	 c}t        d«      D �cg c]  }d|› �‘Œ	 c}t        d«      D �cg c]  }d|› �‘Œ	 c}gg d¢¬«      }	t        ||	|¬«      }
t        j                  ||
«       y c c}w c c}}w c c}w c c}w c c}w c c}w c c}w c c}w )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   €   !  A a S˜k€ rH   r7   r6   ÚR_l0_gÚR_l1_gÚR0ÚR1r2   ÚC_l0_gÚC_l1_gÚC_l2_gÚC_l3_g)ÚC0ÚC1ÚC2ÚC3)rA   r@   )r   r   Úranger   Úfrom_arraysr   rC   rD   )r   r   r!   rE   Ú
data_gen_frU   rV   Úir@   rA   rF   s              r   Útest_header_multi_indexrh   y   s`  € à€Fð€Dð �_‰_œX d›^²LÈQÐPQÈFˆ_ÓS€FÙ)€Jä:?À»(×C°Q¤u¨Q£xÖ0 !‰Z˜˜1ÕÔ0ÐC€DÑCÜ×"Ñ"Ü % a£Ö	)˜1ˆF�1�#Š,Ò	)Ä%ÈÃ(Ö+K¸Q¨f°Q°CªLÒ+KÐLØ�Tˆlô€Eô ×$Ñ$ä#(¨£8Ö,˜aˆv�a�SŠ\Ò,Ü#(¨£8Ö,˜aˆv�a�SŠ\Ò,Ü#(¨£8Ö,˜aˆv�a�SŠ\Ò,Ü#(¨£8Ö,˜aˆv�a�SŠ\Ò,ð		
ò 'ô€Gô ˜ w°eÔ<€HÜ×Ñ˜& (Õ+ùò 1ùÓCùâ	)ùÒ+Kùò
 -ùÚ,ùÚ,ùÚ,s;   ·EÁ	EÁEÁ=E%ÂE*
ÃE/Ã'E4
ÄE9ÄE>ÅE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 «       y # 1 sw Y   y xY w)NrP   r   r   rQ   r   )r   Úkwargsr   r!   r   s        r   Útest_header_multi_index_invalidrl   Ÿ   sS   € ð,€Dð €Fä	�‰”z¨Ô	-ñ GØˆ�‰œ ›ÑFª|ÐF¸vÒF÷G÷ Gñ Gús    !A
Á
AÚ
_TestTupleÚfirstÚsecondrk   r6   ©)ÚaÚq)rq   rU   )rq   r   )ÚbÚt)rV   Úu)rV   Úv)Úskiprowsr3   rq   rr   rU   r   rs   rt   rV   ru   rv   c                 óÊ   — | }t        g d¢g d¢gddgt        j                  g d¢«      ¬«      }d} |j                  t	        |«      fdd	i|¤Ž}t        j                  ||«       y )
N©r5   r$   r6   r%   r7   r8   ©r9   r:   r;   r   é   é   ÚoneÚtworp   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   rk   r   rF   r!   rE   s         r   Ú&test_header_multi_index_common_format1r‚   Ë   sk   € ð< €FÜÚ	Ò2Ð3Ø�eˆnÜ×&Ñ&ÚTó
ô€Hð€Dð ˆV�_‰_œX d›^ÑC°qÐC¸FÑ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                  ||«       y )
Nry   rz   r}   r~   rp   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„   û   sk   € ð< €FÜÚ	Ò2Ð3Ø�eˆnÜ×&Ñ&ÚTó
ô€Hð€Dð
 ˆV�_‰_œX d›^ÑC°qÐC¸FÑC€FÜ×Ñ˜& (Õ+rH   c                 óî   — | }t        g d¢g d¢gddgt        j                  g d¢«      ¬«      }|j                  d¬«      }d	} |j                  t        |«      fd
d i|¤Ž}t        j                  ||«       y )Nry   rz   r}   r~   rp   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Ð3Ø�eˆnÜ×&Ñ&ÚTó
ô€Hð ×#Ñ#¨Ð#Ó.€Hð€Dð
 ˆV�_‰_œX d›^ÑF°tÐF¸vÑF€FÜ×Ñ˜& (Õ+rH   c           
      ó  — | }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}|j                  t        |«      ddgd¬«      }t        j                  ||«       y )N©r$   r6   r%   r7   r8   ©r:   r;   r   r{   r|   Úint64©Údtyper5   r9   ©rq   rs   rV   ©rU   r   rt   ru   rv   ©r   r   r5   r$   r$   ©r   r5   r$   r6   r%   rq   rr   ©Ú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Ð6¸gÔFÜ�Q˜�F‹mÜÚ#Ò%>Ð?Ú"¢OÐ4Ø˜�*ô
ô€Hð€Dð
 �_‰_œX d›^°Q¸°FÀaˆ_ÓH€FÜ×Ñ˜( FÕ+rH   c           
      ó  — | }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}|j                  t        |«      ddgd¬«      }t        j                  ||«       y )Nr‹   rŒ   r�   rŽ   r5   r9   r�   r‘   r’   r“   rr   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Ð6¸gÔFÜ�Q˜�F‹mÜÚ#Ò%>Ð?Ú"¢OÐ4Ø˜�+ô
ô€Hð€Dð
 �_‰_œX d›^°Q¸°FÀaˆ_ÓH€FÜ×Ñ˜( FÕ+rH   c           
      ó.  — | }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}|j	                  t        |«      d	dgd	dg¬«      }t        j                  ||«       y )N)r6   r%   r7   r8   )r;   r   r{   r|   r�   rŽ   r5   r9   r$   r:   r   )r•   r–   r�   )r   rt   ru   rv   )r   r5   r$   r$   rQ   rr   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ÜÚ#Ò%9Ð:Ú¢Ð.Ø˜�+ô
ô€Hð€Dð
 �_‰_œX d›^°Q¸°FÀqÈ!Àfˆ_ÓM€FÜ×Ñ˜( FÕ+rH   c                 óÒ   — | }d d gddgddgg}t        j                  ddg«      }t        ||¬«      }d}|j                  t	        |«      d	dg¬
«      }t        j                  ||«       y )Nr5   r$   r6   r%   )rq   r/   )rs   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£   š  sq   € ð €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                 ó2  — | }|j                   dk(  r3|�1t        j                  j                  d¬«      }|j	                  |«       |j                  t        d«      g d¢¬«      }|j                  t        |«      g d¢|¬«      }t        j                  ||«       y )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ˆØ×Ñ˜DÔ!à�‰œx¨Ó7ºˆÓO€Hà�_‰_œX d›^²?È6ˆ_ÓR€FÜ×Ñ˜& (Õ+rH   c                 óˆ   — | }t        g d¢¬«      } |j                  t        d«      fi |¤Ž}t        j                  ||«       y )Nr�   r¢   za,b,c©r   r   r   rC   rD   )r   rk   r   rF   rE   s        r   Útest_read_only_header_no_rowsr±   ·  s=   € ð €FÜ¢Ô1€HàˆV�_‰_œX gÓ.Ñ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                  ||«       y )Nr   )r5   r$   r6   r%   r7   )r8   r9   r:   r;   r   )r{   r|   é   é   é   r¢   r   r°   )r   rk   r3   r   r!   rF   rE   s          r   Útest_no_headerr¸   Â  sZ   € ð €Fð€Dô Ú	Ò*Ò,@ÐAÈ5ô€Hð ˆV�_‰_œX d›^ÑC°DÐC¸FÑC€FÜ×Ñ˜& (Õ+rH   Ústring_headerc                 ó¨   — d}d}| }t        j                  t        |¬«      5  |j                  t	        |«      |¬«       d d d «       y # 1 sw Y   y xY w)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»   Ù  sJ   € ð 7€CØ€DØ€Fä	�‰”z¨Ô	-ñ 7Ø�‰œ ›¨vˆÔ6÷7÷ 7ñ 7úr,   c                 óœ   — d}| }t        ddgddgddgdœ«      }|j                  t        |«      dg¬«      }t        j                  ||«       y )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½   ä  sS   € ð %€DØ€Fä  1˜v¨Q°¨F¸!¸Q¸Ñ@ÓA€HØ�_‰_œX d›^°Q°Cˆ_Ó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                 óp   — | }|j                  t        |«      ddg¬«      }t        j                  ||«       y )Nr   r5   r   rL   )r   r!   rF   r   rE   s        r   Útest_mangles_multi_indexrÆ   ï  s4   € ðR €Fà�_‰_œX d›^°Q¸°Fˆ_Ó;€FÜ×Ñ˜& (Õ+rH   rA   Ú ÚUnnamedÚ
NotUnnamedc                 óÊ  — | }ddg}|€dj                  |xs ddg«      dz   }ndj                  dg|xs ddgz   «      dz   }|j                  t        |«      ||¬«      }g }|€g d¢}t        |«      D ]%  \  }}	|	sd	|€|n|dz   › d
�}	|j	                  |	«       Œ' t        j                  t        |ddg«      «      }t        ddgddgg|¬«      }
t        j                  ||
«       y )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_columnsrg   ÚcolrF   s              r   Útest_multi_index_unnamedrÕ     s	  € ð €FØ�ˆV€FàÐØ�x‰x˜Ò+ B¨ 8Ó,Ð/BÑB‰à�x‰x˜˜ Ò 3¨B°¨8Ñ4Ó5Ð8PÑPˆà�_‰_œX d›^°FÀiˆ_ÓP€FØ€Kà€Úˆä˜GÓ$ò  ‰ˆˆ3ÙØ 9Ð#4™a¸!¸a¹%Ð@ÀÐIˆCà×Ñ˜3Õð	 ô ×$Ñ$¤S¨°s¸C°jÓ%AÓB€GÜ˜1˜a˜& 1 a &Ð)°7Ô;€HÜ×Ñ˜& (Õ+rH   c                 ó    — | }d}|j                  t        |«      dg d¢¬«      }t        ddgddgd	d
gdœ«      }t        j                  ||«       y )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  sW   € ð €Fð€Dð �_‰_œX d›^°Aº_ˆ_ÓM€FÜ  1˜v¨Q°¨F¸!¸Q¸Ñ@ÓA€HÜ×Ñ˜& (Õ+rH   c                 óN  — | }d}d}t        j                  g d¢«      }t        g d¢g d¢g|¬«      }|j                  t	        |«      ddg¬	«      }t        j                  ||j                  d d «       |j                  t	        |«      ddg¬	«      }t        j                  ||«       y )
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ÐHÐRTô€Hð �/‰/œ( 2›,°°1¨vˆ/Ó
6€CÜ×Ñ˜#˜xŸ}™}¨R¨aÐ0Ô1Ø
�/‰/œ( 2›,°°1¨vˆ/Ó
6€CÜ×Ñ˜#˜xÕ(rH   c                 ó¨   — | }d}t        j                  t        d¬«      5  |j                  t	        |«      ddg¬«       d d d «       y # 1 sw Y   y xY w)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  sS   € ð €Fð€Dô
 
�‰ÜÐNô
ñ 7ð 	�‰œ ›°°1¨vˆÔ6÷7÷ 7ñ 7ús    AÁAc                 óÜ   — | }d}|j                  t        |«      ddgd ¬«      }t        g d¢dt        j                  t        j                  gdœg d¢¬	«      }t        j                  ||«       y )
Nzx,1,5
y,2
z,3
rq   rs   r¨   r4   r7   ©rq   rs   )Ú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€FÜÚ˜q¤"§&¡&¬"¯&©&Ð1Ñ2º/ô€Hô ×Ñ˜& (Õ+rH   c                 óª   — | }d}t        j                  t        d¬«      5  |j                  t	        |«      ddgd ¬«       d d d «       y # 1 sw Y   y xY w)Núx,1
y,2,5
z,3
z"Expected 2 fields in line 2, saw 3r   rq   rs   r¨   rê   r    s      r   Ú1test_header_none_and_implicit_index_in_second_rowrö   Ž  sP   € ð €FØ€DÜ	�‰”{Ð*NÔ	Oñ GØ�‰œ ›¨s°C¨jÀˆÔF÷G÷ Gñ Gúr   c                 óœ   — | }d}|j                  t        |«      ddgd d¬«      }t        ddgdd	gd
œ«      }t        j                  ||«       y )Nrõ   rq   rs   Úskip)r3   r   Úon_bad_linesrï   rñ   r5   r6   rî   rB   r×   s        r   Ú&test_header_none_and_on_bad_lines_skiprú   —  sY   € à€FØ€DØ�_‰_Ü�‹˜s C˜j°ÀFð ó €Fô   S˜z°°A°Ñ7Ó8€HÜ×Ñ˜& (Õ+rH   c                 ó¬   — | }d}d}t        j                  t        |¬«      5  |j                  t	        |«      g d¢¬«       d d d «       y # 1 sw Y   y xY w)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ü   ¢  sO   € ð €Fð€Dð I€CÜ	�‰”z¨Ô	-ñ :Ø�‰œ ›ªyˆÔ9÷:÷ :ñ :ús   ¢A
Á
Ac                 ó�   — | }d}|j                  t        |«      d¬«      }t        dgdddœ«      }t        j                  ||«       y )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   ¯  sK   € ð €Fð€Dð �_‰_œX d›^°ˆ_Ó8€FÜ  °¸cÑBÓC€HÜ×Ñ˜& (Õ+rH   c                 óô   — | }d}d}t        j                  t        |d¬«      5  |j                  t	        |«      d¬«      }d d d «       t        ddd	gi«      }t        j                  |«       y # 1 sw Y   Œ/xY w)
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ð —‘¤¨$£À$�ÓGˆ÷Hô ˜% %¨ Ð0Ó1€HÜ×Ñ˜& (Õ+÷Hð Hús   £A.Á.A7c                 ó¢   — | }d}|j                  t        |«      d ddgddd¬«      }t        ddgd	d
ggd¬«      }t        j                  ||«       y )Nz
a,i,x
b,j,y
r   r5   zstring[pyarrow]r¦   )r   ri   r�   Údtype_backendr©   rq   rg   rs   ÚjrŽ   rB   )Úpyarrow_parser_onlyr   r!   rE   rF   s        r   Útest_usecols_no_header_pyarrowr  Î  si   € Ø €Fð€Dð �_‰_Ü�‹ØØ�A�ØØØð ó €Fô ˜3 ˜* s¨C jÐ1Ð9JÔ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   rh   rl   rm   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     sc  ðñõ
 #Ý ã Û å %÷ñ õ
 à�[‰[×'Ñ'ØCó€
ð —‘×'Ñ'¨Ó8€Ø�{‰{×&Ñ& ~Ó6€ð ñ(ó ð(ò3ð ‡�×Ñ˜¢Z°B¸°7Ð#<Ó=ñ
7ó >ð
7ð ‡�×Ñ˜ D¨% =Ó1ñ7ó 2ð7ð ñ,ó ð,ò",ð( ñ",ó ð",ðJ ‡�×ÑØð ˜5 %˜.Ð)ð'ð	
ð ˜a˜&¨E°5¨>Ñ:ØHð	
ð
 ˜a˜&¨e°U¨^Ñ<ØJð	
ðóñ*Gó+ð*Gñ( ˜ 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ð	
ðó	ñ
,ó	ð
,ð ‡�×Ñ˜ S¨# J°Ð#@ÓAñ7ó Bð7ð ñ,ó ð,ð Ø‡�×ÑØð 4ÙÚ!Ð"Ø.˜
×.Ñ.ÚPóôð	
ð 6ÙÚ!Ð"Ø.˜
×.Ñ.ÚRóôð	
ð @ÙÚ&Ð'Ø.˜
×.Ñ.òóôð	
ð'"ó%ñL,óM%ó ðN,ð Ø‡�×Ñ˜ t¨a¨S kÓ2Ø‡�×ÑØ�˜˜I�¨9°b¨/¸iÈÐ=VÐXóñ,óó 3ó ð
,ðD ñ	,ó ð	,ð ñ)ó ð)ð> ñ7ó ð7ð ñ,ó ð,ð ñGó ðGò,ð ñ:ó ð:ð ñ,ó ð,ð ñ,ó ð,ó",rH   