Ë
    u™ãjû[  ã                   ó"  — 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
ZddlmZ ej                  j!                  d«      Zej                  j!                  d«      Zd„ Zd	„ Zej                  j+                  d
g d¢ddgg«      d„ «       Zej                  j+                  d
ddg«      d„ «       Zd„ Zd„ Zd„ Zej                  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j                  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,d.«      gd%œg«      d/„ «       Zej                  j+                  d"d
ddgid0g d$¢d%œd0 ed&d'«       ed&d(«       ed&d)«       ed*d+«       ed,d-«       ed,d.«      gd%œg«      d1„ «       Zej                  j+                  d"d
ddgid0g d$¢d%œd0 ed&d'«       ed&d(«       ed&d)«       ed*d+«       ed,d-«       ed,d.«      gd%œg«      d2„ «       Zd3„ Z d4„ Z!d5„ Z"d6„ Z#ej                  j+                  d7d8d9g«      d:„ «       Z$d;„ Z%eej                  j+                  d"i ddig«      d<„ «       «       Z&ej                  j+                  d=i g d>¢fd?g d@¢ig d@¢fg«      dA„ «       Z'ej                  j+                  d
d&d*gdBg«      dC„ «       Z(dD„ Z)ej                  j+                  dEdF ejT                  g dG¢gejV                  jY                  g dH¢«      ¬I«      fdJ ejT                  g dG¢gejV                  jY                  g dK¢«      ¬I«      fdL ejT                  g dM¢gejV                  jY                  g dN¢«      ¬I«      fg«      dO„ «       Z-ej                  j+                  dddgg«      ej                  j+                  dPddQdRgdRdQgdRdSgg«      dT„ «       «       Z.edU„ «       Z/dV„ Z0dW„ Z1edX„ «       Z2edY„ «       Z3dZ„ Z4d[„ Z5d\„ Z6d]„ Z7d^„ Z8y)_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Úpyarrow_xfailÚpyarrow_skipc                 ó`  — | }|j                   dk(  rBt        j                  t        d¬«      5  |j	                  t        d«      dg¬«       d d d «       y d}t        j                  t        |¬«      5  |j	                  t        d«      dg¬«       d d d «       y # 1 sw Y   y xY w# 1 sw Y   y xY w)NÚpyarrowzCould not skip initial 10 rows©Úmatchz,,é
   ©Úheaderzbut only \d+ lines in file)ÚengineÚpytestÚraisesr   Úread_csvr   Ú
ValueError)Úall_parsersÚparserÚmsgs      úm/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/tests/io/parser/test_header.pyÚtest_read_with_bad_headerr      s“   € Ø€Fà‡}�}˜	Ò!ô �]‰]œ;Ð.NÔOñ 	9Ø�O‰OœH T›N°B°4ˆOÔ8÷	9àà
'€CÜ	�‰”z¨Ô	-ñ 5Ø�‰œ ›°¨tˆÔ4÷5ð 5÷	9àú÷5ð 5ús   ­BÁ1B$ÂB!Â$B-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%   3   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(   A   sN   € ð €Fð€Dð 0€CÜ	�‰”y¨Ô	,ñ 7Ø�‰œ ›¨vˆÔ6÷7÷ 7ñ 7úó   ¢AÁAc                 óÂ   — | }d}g d¢}|j                  t        |«      |¬«      }t        j                  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   ÚpdÚ	DataFrameÚtmÚassert_frame_equal)r   r   r   r0   ÚresultÚexpecteds         r   Útest_header_with_index_colrG   P   s[   € Ø€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   a   sW   € Ø€Fð€Dð€Eð �_‰_œX d›^°AÀˆ_ÓC€FØ�‰œx¨›°qÀAˆÓF€HÜ×Ñ˜& (Õ+rH   c                 ó  — | }d}|j                   dk(  rFt        j                  t        d¬«      5  |j	                  t        |«      g d¢ddg¬«       d d d «       y |j	                  t        |«      g d¢ddg¬«      }d	„ }t        d
«      D ��cg c]"  }t        d«      D �cg c]  } |||«      ‘Œ c}‘Œ$ }}}t        j                  j                  t        d
«      D �cg c]  }d|› �‘Œ	 c}t        d
«      D �cg c]  }d|› �‘Œ	 c}gddg¬«      }t        j                  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        j                  ||	|¬«      }
t        j                  ||
«       y # 1 sw Y   y xY w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	   ú#does not support a list of integersr
   ©r   r2   r!   r3   r   r2   rJ   c                 ó   — d| › d|› �S )NÚRr.   © )ÚrÚcs     r   ú<lambda>z)test_header_multi_index.<locals>.<lambda>‹   s   €   !  A a S˜k€ rH   r5   r3   ÚR_l0_gÚR_l1_gÚR0ÚR1r/   ÚC_l0_gÚC_l1_gÚC_l2_gÚC_l3_g)ÚC0ÚC1ÚC2ÚC3)r?   r>   )r   r   r   r   r   r   ÚrangerA   Ú
MultiIndexÚfrom_arraysrB   rC   rD   )r   r   r   rE   Ú
data_gen_frV   rW   Úir>   r?   rF   s              r   Útest_header_multi_indexrj   u   sÃ  € Ø€Fð€Dð ‡}�}˜	Ò!Ü�]‰]œ:Ð-RÔSñ 	SØ�O‰OœH T›N²<ÈAÈqÈ6ˆOÔR÷	Sàà�_‰_œX d›^²LÈQÐPQÈFˆ_ÓS€FÙ)€Jä:?À»(×C°Q¤u¨Q£xÖ0 !‰Z˜˜1ÕÔ0ÐC€DÑCÜ�M‰M×%Ñ%Ü % a£Ö	)˜1ˆF�1�#Š,Ò	)Ä%ÈÃ(Ö+K¸Q¨f°Q°CªLÒ+KÐLØ�Tˆlð &ó €Eô �m‰m×'Ñ'ä#(¨£8Ö,˜aˆv�a�SŠ\Ò,Ü#(¨£8Ö,˜aˆv�a�SŠ\Ò,Ü#(¨£8Ö,˜aˆv�a�SŠ\Ò,Ü#(¨£8Ö,˜aˆv�a�SŠ\Ò,ð		
ò 'ð (ó €Gô �|‰|˜D¨'¸Ô?€HÜ×Ñ˜& (Õ+÷-	Sàüò
 1ùÓCùâ	)ùÒ+Kùò
 -ùÚ,ùÚ,ùÚ,sG   ¯"GÂGÂGÂ.GÃG$Ã7G)
Ä5G.ÅG3
Å+G8ÆG=ÇGÇGz
kwargs,msgrK   r:   r;   z]index_col must only contain integers of column positions when specifying a multi-index headerr2   )rK   r0   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   rR   r   )r   Úkwargsr   r   r   s        r   Útest_header_multi_index_invalidrn   Ÿ   sS   € ð,€Dð €Fä	�‰”z¨Ô	-ñ GØˆ�‰œ ›ÑFª|ÐF¸vÒF÷G÷ Gñ Gús    !A
Á
AÚ
_TestTupleÚfirstÚsecondrm   r3   ©)ÚaÚq)rs   rV   )rs   Ús)ÚbÚt)rW   Úu)rW   Úv)Úskiprowsr0   rs   rt   rV   ru   rv   rw   rW   rx   ry   c                 ó¶  — | }t        j                  g d¢g d¢gddgt         j                  j                  g d¢«      ¬«      }d}|j                  dk(  rGd	|v rCt        j                  t        d
¬«      5   |j                  t        |«      fddi|¤Ž d d d «       y  |j                  t        |«      fddi|¤Ž}t        j                  ||«       y # 1 sw Y   y xY w)N©r2   r!   r3   r"   r5   r6   ©r7   r8   r9   r   é   é   ÚoneÚtworr   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,12r	   r   rQ   r
   rK   r   ©rA   rB   rf   Úfrom_tuplesr   r   r   r   r   r   rC   rD   ©r   rm   r   rF   r   rE   s         r   Ú&test_header_multi_index_common_format1r…   Ë   sÊ   € ð: €FÜ�|‰|Ú	Ò2Ð3Ø�eˆnÜ—‘×)Ñ)ÚTó
ô€Hð€Dð ‡}�}˜	Ò! h°&Ñ&8Ü�]‰]œ:Ð-RÔSñ 	CØˆF�O‰OœH T›NÑB°aÐB¸6ÒB÷	CààˆV�_‰_œX d›^ÑC°qÐC¸FÑC€FÜ×Ñ˜& (Õ+÷	Càúó   Á2CÃCr!   c                 ó¶  — | }t        j                  g d¢g d¢gddgt         j                  j                  g d¢«      ¬«      }d}|j                  dk(  rGd	|v rCt        j                  t        d
¬«      5   |j                  t        |«      fddi|¤Ž d d d «       y  |j                  t        |«      fddi|¤Ž}t        j                  ||«       y # 1 sw Y   y xY w)Nr|   r}   r€   r�   rr   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,12r	   r   rQ   r
   rK   r   r‚   r„   s         r   Ú&test_header_multi_index_common_format2rˆ   ÿ   sÊ   € ð: €FÜ�|‰|Ú	Ò2Ð3Ø�eˆnÜ—‘×)Ñ)ÚTó
ô€Hð€Dð
 ‡}�}˜	Ò! h°&Ñ&8Ü�]‰]œ:Ð-RÔSñ 	CØˆF�O‰OœH T›NÑB°aÐB¸6ÒB÷	CààˆV�_‰_œX d›^ÑC°qÐC¸FÑC€FÜ×Ñ˜& (Õ+÷	Càúr†   c                 óÚ  — | }t        j                  g d¢g d¢gddgt         j                  j                  g d¢«      ¬«      }|j	                  d¬«      }d	}|j
                  d
k(  rGd|v rCt        j                  t        d¬«      5   |j                  t        |«      fdd i|¤Ž d d d «       y  |j                  t        |«      fdd i|¤Ž}t        j                  ||«       y # 1 sw Y   y xY w)Nr|   r}   r€   r�   rr   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,12r	   r   rQ   r
   rK   )rA   rB   rf   rƒ   Úreset_indexr   r   r   r   r   r   rC   rD   r„   s         r   Ú&test_header_multi_index_common_format3r�   2  sß   € ð: €FÜ�|‰|Ú	Ò2Ð3Ø�eˆnÜ—‘×)Ñ)ÚTó
ô€Hð ×#Ñ#¨Ð#Ó.€Hð€Dð
 ‡}�}˜	Ò! h°&Ñ&8Ü�]‰]œ:Ð-RÔSñ 	FØˆF�O‰OœH T›NÑE°dÐE¸fÒE÷	FààˆV�_‰_œX d›^ÑF°tÐF¸vÑF€FÜ×Ñ˜& (Õ+÷	Fàús   ÂC!Ã!C*c           
      ó  — | }t        j                  t        j                  g d¢g d¢gd¬«      t        j                  ddg«      t        j
                  g d¢g d¢gg d	¢g d
¢gddg¬«      ¬«      }d}|j                  dk(  rDt        j                  t        d¬«      5  |j                  t        |«      ddgd¬«       d d d «       y |j                  t        |«      ddgd¬«      }t        j                  ||«       y # 1 sw Y   y xY w)N©r!   r3   r"   r5   r6   ©r8   r9   r   r~   r   Úint64©Údtyper2   r7   ©rs   rv   rW   ©rV   ru   rw   rx   ry   ©r   r   r2   r!   r!   ©r   r2   r!   r3   r"   rs   rt   ©ÚlevelsÚcodesr0   r=   r‹   r	   rQ   r
   r   rJ   )rA   rB   ÚnpÚarrayÚIndexrf   r   r   r   r   r   r   rC   rD   ©r   r   rF   r   rE   s        r   Ú0test_header_multi_index_common_format_malformed1rŸ   f  sà   € Ø€FÜ�|‰|Ü
�‰’/Ò#5Ð6¸gÔFÜ�h‰h˜˜1�vÓÜ—‘Ú#Ò%>Ð?Ú"¢OÐ4Ø˜�*ô
ô€Hð€Dð
 ‡}�}˜	Ò!Ü�]‰]œ:Ð-RÔSñ 	HØ�O‰OœH T›N°A°q°6ÀQˆOÔG÷	Hàà�_‰_œX d›^°Q¸°FÀaˆ_ÓH€FÜ×Ñ˜( FÕ+÷	Hàús   Â C:Ã:Dc           
      óø  — | }t        j                  t        j                  g d¢g d¢gd¬«      t	        ddd«      t        j
                  g d¢g d	¢gg d
¢g d¢gd dg¬«      ¬«      }d}|j                  dk(  rDt        j                  t        d¬«      5  |j                  t        |«      ddgd¬«       d d d «       y |j                  t        |«      ddgd¬«      }t        j                  ||«       y # 1 sw Y   y xY w)Nr�   r�   r‘   r’   r2   é   r6   r”   r•   r–   r—   rt   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	   rQ   r
   r   rJ   )rA   rB   r›   rœ   re   rf   r   r   r   r   r   r   rC   rD   rž   s        r   Ú0test_header_multi_index_common_format_malformed2r£     sÛ   € Ø€FÜ�|‰|Ü
�‰’/Ò#5Ð6¸gÔFÜ�A�r˜1‹oÜ—‘Ú#Ò%>Ð?Ú"¢OÐ4Ø˜�+ô
ô€Hð€Dð
 ‡}�}˜	Ò!Ü�]‰]œ:Ð-RÔSñ 	HØ�O‰OœH T›N°A°q°6ÀQˆOÔG÷	Hàà�_‰_œX d›^°Q¸°FÀaˆ_ÓH€FÜ×Ñ˜( FÕ+÷	Hàús   Â C0Ã0C9c           
      ó,  — | }t        j                  t        j                  g d¢g d¢gd¬«      t        j                  ddgddggd	dgd	dgg¬
«      t        j                  g d¢g d¢gg d¢g d¢gd dg¬«      ¬«      }d}|j
                  dk(  rFt        j                  t        d¬«      5  |j                  t        |«      d	dgd	dg¬«       d d d «       y |j                  t        |«      d	dgd	dg¬«      }t        j                  ||«       y # 1 sw Y   y xY w)N)r3   r"   r5   r6   )r9   r   r~   r   r‘   r’   r2   r7   r!   r8   r   )r™   rš   r”   )ru   rw   rx   ry   )r   r2   r!   r!   rR   rt   r˜   r=   r¢   r	   rQ   r
   rJ   )rA   rB   r›   rœ   rf   r   r   r   r   r   r   rC   rD   rž   s        r   Ú0test_header_multi_index_common_format_malformed3r¥   ™  sÿ   € Ø€FÜ�|‰|Ü
�‰’,¢Ð0¸Ô@Ü�m‰m Q¨ F¨Q°¨FÐ#3¸QÀ¸FÀQÈÀFÐ;KÔLÜ—‘Ú#Ò%9Ð:Ú¢Ð.Ø˜�+ô
ô€Hð€Dð
 ‡}�}˜	Ò!Ü�]‰]œ:Ð-RÔSñ 	MØ�O‰OœH T›N°A°q°6ÀaÈÀVˆOÔL÷	Màà�_‰_œX d›^°Q¸°FÀqÈ!Àfˆ_ÓM€FÜ×Ñ˜( FÕ+÷	Màús   Â'"D
Ä
Dc                 ó¶  — | }d d gddgddgg}t         j                  j                  ddg«      }t        j                  ||¬«      }d}|j                  d	k(  rCt        j                  t        d
¬«      5  |j                  t        |«      ddg¬«       d d d «       y |j                  t        |«      ddg¬«      }t        j                  ||«       y # 1 sw Y   y xY w)Nr2   r!   r3   r"   )rs   r,   )rv   r-   ©r?   za,b
A,B
,
1,2
3,4r	   rQ   r
   r   r   )rA   rf   rƒ   rB   r   r   r   r   r   r   rC   rD   )r   r   r   r?   rF   rE   s         r   Ú"test_header_multi_index_blank_liner¨   ²  sÀ   € à€FØ�4ˆL˜1˜a˜& 1 a &Ð)€DÜ�m‰m×'Ñ'¨°ZÐ(@ÓA€GÜ�|‰|˜D¨'Ô2€HØ"€Dà‡}�}˜	Ò!Ü�]‰]œ:Ð-RÔSñ 	;Ø�O‰OœH T›N°A°q°6ˆOÔ:÷	;àà�_‰_œX d›^°Q¸°Fˆ_Ó;€FÜ×Ñ˜( FÕ+÷	;àúr†   zdata,header)ú1,2,3
4,5,6N)úfoo,bar,baz
1,2,3
4,5,6r   c                 ó®   — | }|j                  t        d«      g d¢¬«      }|j                  t        |«      g d¢|¬«      }t        j                  ||«       y )Nr©   r”   r/   ©r0   r   rL   )r   r   r   r   rF   rE   s         r   Ú!test_header_names_backward_compatr­   Ã  sH   € ð
 €Fà�‰œx¨Ó7ºˆÓO€Hà�_‰_œX d›^²?È6ˆ_ÓR€FÜ×Ñ˜& (Õ+rH   c                 ó®   — | }d}|j                  t        |«      dg d¢¬«      }t        j                  g d¢gg d¢¬«      }t	        j
                  ||«       y )Nrª   r2   r”   ©r   r0   r4   r§   r@   ©r   r   r   rE   rF   s        r   Ú)test_header_int_names_no_trailing_newliner±   Ð  sH   € ð €FØ&€Dà�_‰_œX d›^°Aº_ˆ_ÓM€Fä�|‰|šY˜K²ÔA€HÜ×Ñ˜& (Õ+rH   c                 óœ   — | }t        j                  g d¢¬«      } |j                  t        d«      fi |¤Ž}t	        j
                  ||«       y )Nr”   r§   za,b,c©rA   rB   r   r   rC   rD   )r   rm   r   rF   rE   s        r   Útest_read_only_header_no_rowsr´   Ü  sA   € ð €FÜ�|‰|¢OÔ4€HàˆV�_‰_œX gÓ.Ñ9°&Ñ9€FÜ×Ñ˜& (Õ+rH   zkwargs,namesr—   r0   )r:   r;   r<   ÚquuxÚpandac                 ó´   — | }d}t        j                  g d¢g d¢g d¢g|¬«      } |j                  t        |«      fdd i|¤Ž}t	        j
                  ||«       y )Nr   )r2   r!   r3   r"   r5   )r6   r7   r8   r9   r   )r~   r   r¡   é   é   r§   r   r³   )r   rm   r0   r   r   rF   rE   s          r   Útest_no_headerrº   ç  s^   € ð €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        j                  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   r2   r!   r3   r”   r   r³   )r   r   r   rF   rE   s        r   Útest_singleton_headerr¿   	  sW   € ð %€DØ€Fä�|‰| 1 a &°°1¨v¸QÀ¸FÑCÓD€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©r-   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Å   )r-   ztwo.1c                 ó,  — | }|j                   dk(  rCt        j                  t        d¬«      5  |j	                  t        |«      ddg¬«       d d d «       y |j	                  t        |«      ddg¬«      }t        j                  ||«       y # 1 sw Y   y xY w)Nr	   rQ   r
   r   r2   r   )r   r   r   r   r   r   rC   rD   )r   r   rF   r   rE   s        r   Útest_mangles_multi_indexrÈ     s}   € ðP €Fà‡}�}˜	Ò!Ü�]‰]œ:Ð-RÔSñ 	;Ø�O‰OœH T›N°A°q°6ˆOÔ:÷	;àà�_‰_œX d›^°Q¸°Fˆ_Ó;€FÜ×Ñ˜& (Õ+÷	;àús   ­B
Â
Br?   Ú Ú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                  dk(  rBt        j                  t        d¬	«      5  |j                  t        |«      ||¬
«       d d d «       y |j                  t        |«      ||¬
«      }g }|€g d¢}t        |«      D ]%  \  }}	|	sd|€|n|dz   › d�}	|j                  |	«       Œ' t        j                  j                  t        |ddgd¬«      «      }t        j                  ddgddgg|¬«      }
t        j                  ||
«       y # 1 sw Y   y xY w)Nr   r2   ú,rÉ   z
0,1
2,3
4,5
z
,0,1
0,2,3
1,4,5
r	   rQ   r
   rJ   )rÉ   rÉ   rÉ   z	Unnamed: Ú_level_0Ú0Ú1F)Ústrictr!   r3   r"   r5   r§   )Újoinr   r   r   r   r   r   Ú	enumerateÚappendrA   rf   rƒ   ÚziprB   rC   rD   )r   rK   r?   r   r   r   rE   Úexp_columnsri   ÚcolrF   s              r   Útest_multi_index_unnamedrØ   H  s]  € ð €FØ�ˆV€FàÐØ�x‰x˜Ò+ B¨ 8Ó,Ð/BÑB‰à�x‰x˜˜ Ò 3¨B°¨8Ñ4Ó5Ð8PÑPˆà‡}�}˜	Ò!Ü�]‰]œ:Ð-RÔSñ 	PØ�O‰OœH T›N°6ÀYˆOÔO÷	Pàà�_‰_œX d›^°FÀiˆ_ÓP€FØ€Kà€Úˆä˜GÓ$ò  ‰ˆˆ3ÙØ 9Ð#4™a¸!¸a¹%Ð@ÀÐIˆCà×Ñ˜3Õð	 ô �m‰m×'Ñ'¬¨K¸#¸s¸ÈEÔ(RÓS€GÜ�|‰|˜a ˜V a¨ VÐ,°gÔ>€HÜ×Ñ˜& (Õ+÷%	Pàús   Á,EÅEc                 ó´   — | }d}|j                  t        |«      dg d¢¬«      }t        j                  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¯   r2   r5   r!   r6   r3   r"   r@   r°   s        r   Ú6test_names_longer_than_header_but_equal_with_data_rowsrÚ   s  s[   € ð €Fð€Dð �_‰_œX d›^°Aº_ˆ_ÓM€FÜ�|‰| 1 a &°°1¨v¸QÀ¸FÑCÓD€HÜ×Ñ˜& (Õ+rH   c                 ó2  — | }d}d}t         j                  j                  g d¢«      }t        j                  g d¢g d¢g|¬«      }|j                  dk(  rCt        j                  t        d¬	«      5  |j                  t        |«      d
dg¬«       d d d «       y |j                  t        |«      d
dg¬«      }t        j                  ||j                  d d «       |j                  t        |«      d
dg¬«      }t        j                  ||«       y # 1 sw Y   y xY w)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))ÚMalerT   )ú Maleú R)rÝ   z L)ú FemalerÞ   )rß   z R.1)ç…ëQ¸…ë?çq=
×£på?ç)\�Âõ(ì?çö(\�Âõè?gìQ¸…ëé?)rà   rá   râ   rã   g=
×£p=ê?r§   r	   rQ   r
   r   r2   r   )rA   rf   rƒ   rB   r   r   r   r   r   r   rC   rD   Úiloc)r   r   Ús1Ús2ÚmirF   Údf1Údf2s           r   Ú test_read_csv_multiindex_columnsrê   €  s÷   € à€Fà	S€Bð	"ð ô 
�‰×	"Ñ	"ò	
ó
€Bô �|‰|Ú	'Ò)GÐHÐRTô€Hð ‡}�}˜	Ò!Ü�]‰]œ:Ð-RÔSñ 	9Ø�O‰OœH R›L°!°Q°ˆOÔ8÷	9àà
�/‰/œ( 2›,°°1¨vˆ/Ó
6€CÜ×Ñ˜#˜xŸ}™}¨R¨aÐ0Ô1Ø
�/‰/œ( 2›,°°1¨vˆ/Ó
6€CÜ×Ñ˜#˜xÕ(÷	9àús   Á/DÄDc                 ód  — | }d}|j                   dk(  rCt        j                  t        d¬«      5  |j	                  t        |«      ddg¬«       d d d «       y t        j                  t        d¬«      5  |j	                  t        |«      ddg¬«       d d d «       y # 1 sw Y   y xY w# 1 sw Y   y xY w)	Nz1row11,row12,row13
row21,row22, row23
row31,row32
r	   rQ   r
   r   r!   r   z1Header rows must have an equal number of columns.)r   r   r   r   r   r   r   )r   r   Úcases      r   Ú'test_read_csv_multi_header_length_checkrí   ¤  sŸ   € à€Fð€Dð
 ‡}�}˜	Ò!Ü�]‰]œ:Ð-RÔSñ 	;Ø�O‰OœH T›N°A°q°6ˆOÔ:÷	;àä	�‰ÜÐNô
ñ 7ð 	�‰œ ›°°1¨vˆÔ6÷7ð 7÷		;àú÷7ð 7ús   ¯BÁ2B&ÂB#Â&B/c                 óð   — | }d}|j                  t        |«      ddgd ¬«      }t        j                  g d¢dt        j
                  t        j
                  gdœg d¢¬	«      }t        j                  ||«       y )
Nzx,1,5
y,2
z,3
rs   rv   r¬   r1   r5   ©rs   rv   )ÚxÚyÚz)r>   )r   r   rA   rB   r›   ÚnanrC   rD   r°   s        r   Ú#test_header_none_and_implicit_indexrô   ¸  sc   € ð €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
   rs   rv   r¬   )r   r   r   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ús     A	Á	Ac                 ó°   — | }d}|j                  t        |«      ddgd d¬«      }t        j                  ddgdd	gd
œ«      }t	        j
                  ||«       y )Nrö   rs   rv   Úskip)r0   r   Úon_bad_linesrð   rò   r2   r3   rï   r@   r°   s        r   Ú&test_header_none_and_on_bad_lines_skiprû   Í  s]   € à€FØ€DØ�_‰_Ü�‹˜s C˜j°ÀFð ó €Fô �|‰| 3¨ *°A°q°6Ñ:Ó;€HÜ×Ñ˜& (Õ+rH   c                 óÐ   — | }d}|j                   dk(  rd}n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
r	   rQ   z;Passed header=\[0,1,2\], len of 3, but only 2 lines in filer
   )r   r2   r!   r   )r   r   r   r   r   r   )r   r   r   r   s       r   Útest_header_missing_rowsrý   Ø  s]   € à€Fð€Dð ‡}�}˜	Ò!Ø3‰àLˆÜ	�‰”z¨Ô	-ñ :Ø�‰œ ›ªyˆÔ9÷:÷ :ñ :ús   ´AÁA%c                 ó`  — | }d}|j                   dk(  rCd}t        j                  t        |¬«      5  |j	                  t        |«      d¬«       d d d «       y |j	                  t        |«      d¬«      }t        j                  dgdd	d
œ«      }t        j                  ||«       y # 1 sw Y   y xY w)Nz1aa    bb(1,1)   cc(1,1)
                0  2  3.5r	   ú9the 'pyarrow' engine does not support separators > 1 charr
   ú\s+©Úsepr   r!   g      @)Úaazbb(1,1)zcc(1,1)©
r   r   r   r   r   r   rA   rB   rC   rD   ©r   r   r   r   rE   rF   s         r   Ú test_header_multiple_whitespacesr  æ  s–   € à€Fð€Dð ‡}�}˜	Ò!ØIˆÜ�]‰]œ:¨SÔ1ñ 	8Ø�O‰OœH T›N°ˆOÔ7÷	8àà�_‰_œX d›^°ˆ_Ó8€FÜ�|‰| A 3°1ÀÑEÓF€HÜ×Ñ˜& (Õ+÷	8àús   ±B$Â$B-c                 ó^  — | }d}|j                   dk(  rCd}t        j                  t        |¬«      5  |j	                  t        |«      d¬«       d d d «       y |j	                  t        |«      d¬«      }t        j                  ddd	gi«      }t        j                  ||«       y # 1 sw Y   y xY w)
Nza,b
1,2
3,4
    r	   rÿ   r
   r   r  za,bz1,2z3,4r  r  s         r   Útest_header_delim_whitespacer  ÷  s–   € à€Fð€Dð ‡}�}˜	Ò!ØIˆÜ�]‰]œ:¨SÔ1ñ 	8Ø�O‰OœH T›N°ˆOÔ7÷	8àà�_‰_œX d›^°ˆ_Ó8€FÜ�|‰|˜U U¨E NÐ3Ó4€HÜ×Ñ˜& (Õ+÷	8àús   ±B#Â#B,c                 ó¶   — | }d}|j                  t        |«      d ddgddd¬«      }t        j                  ddgd	d
ggd¬«      }t	        j
                  ||«       y )Nz
a,i,x
b,j,y
r   r2   zstring[pyarrow]r	   )r   rk   r“   Údtype_backendr   rs   ri   rv   Újr’   r@   )Úpyarrow_parser_onlyr   r   rE   rF   s        r   Útest_usecols_no_header_pyarrowr  	  sm   € Ø €Fð€Dð �_‰_Ü�‹ØØ�A�ØØØð ó €Fô �|‰|˜c 3˜Z¨#¨s¨Ð4Ð<MÔN€HÜ×Ñ˜& (Õ+rH   )9Ú__doc__Úcollectionsr   Úior   Únumpyr›   r   Úpandas.errorsr   ÚpandasrA   Úpandas._testingÚ_testingrC   ÚmarkÚusefixturesÚxfail_pyarrowÚskip_pyarrowr   r   Úparametrizer%   r(   rG   rN   rj   rn   ro   r…   rˆ   r�   rŸ   r£   r¥   r¨   r­   r±   r´   rº   r½   r¿   rB   rf   rƒ   rÈ   rØ   rÚ   rê   rí   rô   r÷   rû   rý   r  r  r  rU   rH   r   ú<module>r     st  ðñõ
 #Ý ã Û å %ã Ý à—‘×'Ñ'¨Ó8€Ø�{‰{×&Ñ& ~Ó6€ò5ò3ð ‡�×Ñ˜¢Z°B¸°7Ð#<Ó=ñ
7ó >ð
7ð ‡�×Ñ˜ D¨% =Ó1ñ7ó 2ð7ò,ò",ò(',ðT ‡�×ÑØð ˜5 %˜.Ð)ð'ð	
ð ˜a˜&¨E°5¨>Ñ:ØHð	
ð
 ˜a˜&¨e°U¨^Ñ<ØJð	
ðóñ*Gó+ð*Gñ( ˜ w°Ð&9Ó:€
ð ‡�×ÑØà	�A�q�6Ðàòñ
	
ð á˜3 Ó$Ù˜3 Ó$Ù˜3 Ó$Ù˜3 Ó$Ù˜3 Ó$Ù˜3 Ó$ðñ
	
ðóñ8,ó9ð8,ð0 ‡�×ÑØà	�A�q�6Ðàòñ
	
ð á˜3 Ó$Ù˜3 Ó$Ù˜3 Ó$Ù˜3 Ó$Ù˜3 Ó$Ù˜3 Ó$ðñ
	
ðóñ8,ó9ð8,ð. ‡�×ÑØà	�A�q�6Ðàòñ
	
ð á˜3 Ó$Ù˜3 Ó$Ù˜3 Ó$Ù˜3 Ó$Ù˜3 Ó$Ù˜3 Ó$ðñ
	
ðóñ8,ó9ð8,ò0,ò2,ò4,ò2,ð" ‡�×ÑØÐ*Ð,LÐMóñ,óð,ò	,ð Ø‡�×Ñ˜ B¨°eÐ(<Ð#=Ó>ñ,ó ?ó ð,ð ‡�×ÑØà	Š_ÐàÒ<Ð=Ú2ð	
ðó	ñ
,ó	ð
,ð ‡�×Ñ˜ S¨# J°Ð#@ÓAñ7ó Bð7ò	,ð ‡�×ÑØð 4ØˆB�L‰LÚ!Ð"ØŸ™×1Ñ1ÚPóôð	
ð 6ØˆB�L‰LÚ!Ð"ØŸ™×1Ñ1ÚRóôð	
ð @ØˆB�L‰LÚ&Ð'ØŸ™×1Ñ1òóôð	
ð'"ó%ñL
,óM%ðL
,ð ‡�×Ñ˜ t¨a¨S kÓ2Ø‡�×ÑØ�˜˜I�¨9°b¨/¸iÈÐ=VÐXóñ$,óó 3ð$,ðN ñ	,ó ð	,ò!)òH7ð( ñ,ó ð,ð ñGó ðGò,ò:ò,ò",ó$,rH   