Ë
    u™ãj§  ã                   ó|  — d Z ddlmZ ddlZddlZddlZddlm	Z
 ej                  j                  dddgg«      d„ «       Zej                  j                  di dd	id
dig«      d„ «       Zd„ Zd„ Zd„ Zej                  j                  dg d¢«      d„ «       Zej                  j                  dddg«      d„ «       Zd„ Zy)zf
Tests that comments are properly handled during parsing
for all of the parsers defined in parsers.py
é    )ÚStringIONÚ	na_valuesÚNaNc                 óŒ  — | }d}t        j                  g d¢dt        j                  dggg d¢¬«      }|j                  dk(  rDd}t        j                  t        |¬	«      5  |j                  t        |«      d
|¬«       d d d «       y |j                  t        |«      d
|¬«      }t        j                  ||«       y # 1 sw Y   y xY w)Nz&A,B,C
1,2.,4.#hello world
5.,NaN,10.0
©g      ð?g       @ç      @ç      @ç      $@©ÚAÚBÚC©ÚcolumnsÚpyarrowú?The 'comment' option is not supported with the 'pyarrow' engine©Úmatchú#©Úcommentr   ©ÚpdÚ	DataFrameÚnpÚnanÚengineÚpytestÚraisesÚ
ValueErrorÚread_csvr   ÚtmÚassert_frame_equal)Úall_parsersr   ÚparserÚdataÚexpectedÚmsgÚresults          ún/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/tests/io/parser/test_comment.pyÚtest_commentr+      s«   € à€Fð€Dô �|‰|Ú	˜3¤§¡¨Ð-Ð.ºô€Hð ‡}�}˜	Ò!ØOˆÜ�]‰]œ:¨SÔ1ñ 	NØ�O‰OœH T›N°CÀ9ˆOÔM÷	NàØ�_‰_œX d›^°SÀIˆ_ÓN€FÜ×Ñ˜& (Õ+÷		Nàúó   ÁB:Â:CÚread_kwargsÚlineterminatorÚ*Úsepz\s+c                 ó*  — | }d}|j                  d«      r|j                  dd«      }n2|j                  d«      r!|j                  d|j                  d«      «      }d|d<   |j                  d	k(  rJd|v rd
}nd}t        j                  t
        |¬«      5   |j                  t        |«      fi |¤Ž d d d «       y |j                  dk(  rT|j                  d«      rCd}t        j                  t
        |¬«      5   |j                  t        |«      fi |¤Ž d d d «       y  |j                  t        |«      fi |¤Ž}t        j                  g d¢dt        j                  dggg d¢¬«      }t        j                  ||«       y # 1 sw Y   y xY w# 1 sw Y   y xY w)Nz@# empty
A,B,C
1,2.,4.#hello world
#ignore this line
5.,NaN,10.0
r0   ú,ú r.   ú
r   r   r   zFThe 'lineterminator' option is not supported with the 'pyarrow' enginer   r   Úpythonz>Custom line terminators not supported in python parser \(yet\)r   r	   r
   r   r   )ÚgetÚreplacer   r   r   r    r!   r   r   r   r   r   r"   r#   )r$   r-   r%   r&   r(   r)   r'   s          r*   Útest_line_commentr8   "   sb  € à€Fð€Dð ‡��uÔØ�|‰|˜C Ó%‰Ø	�‰Ð)Ô	*Ø�|‰|˜D +§/¡/Ð2BÓ"CÓDˆà €K�	ÑØ‡}�}˜	Ò!Ø˜{Ñ*àXñ ð TˆCÜ�]‰]œ:¨SÔ1ñ 	;ØˆF�O‰OœH T›NÑ:¨kÒ:÷	;àØ	�‰˜(Ò	" {§¡Ð7GÔ'HØOˆÜ�]‰]œ:¨SÔ1ñ 	;ØˆF�O‰OœH T›NÑ:¨kÒ:÷	;ààˆV�_‰_œX d›^Ñ;¨{Ñ;€FÜ�|‰|Ú	˜3¤§¡¨Ð-Ð.ºô€Hô ×Ñ˜& (Õ+÷	;àú÷	;àús   ÂE=Ã6F	Å=FÆ	Fc                 óŒ  — | }d}t        j                  g d¢dt        j                  dggg d¢¬«      }|j                  dk(  rDd}t        j                  t        |¬	«      5  |j                  t        |«      d
d¬«       d d d «       y |j                  t        |«      d
d¬«      }t        j                  ||«       y # 1 sw Y   y xY w)NzH# empty
random line
# second empty line
1,2,3
A,B,C
1,2.,4.
5.,NaN,10.0
r   r	   r
   r   r   r   r   r   r   é   )r   Úskiprowsr   ©r$   r%   r&   r'   r(   r)   s         r*   Útest_comment_skiprowsr=   H   s«   € Ø€Fð€Dô �|‰|Ú	˜3¤§¡¨Ð-Ð.ºô€Hð ‡}�}˜	Ò!ØOˆÜ�]‰]œ:¨SÔ1ñ 	EØ�O‰OœH T›N°CÀ!ˆOÔD÷	Eàà�_‰_œX d›^°SÀ1ˆ_ÓE€FÜ×Ñ˜& (Õ+÷	Eàúr,   c                 óŒ  — | }d}t        j                  g d¢dt        j                  dggg d¢¬«      }|j                  dk(  rDd}t        j                  t        |¬	«      5  |j                  t        |«      d
d¬«       d d d «       y |j                  t        |«      d
d¬«      }t        j                  ||«       y # 1 sw Y   y xY w)Nz<# empty
# second empty line
1,2,3
A,B,C
1,2.,4.
5.,NaN,10.0
r   r	   r
   r   r   r   r   r   r   é   ©r   Úheaderr   r<   s         r*   Útest_comment_headerrB   `   s«   € Ø€Fð€Dô �|‰|Ú	˜3¤§¡¨Ð-Ð.ºô€Hð ‡}�}˜	Ò!ØOˆÜ�]‰]œ:¨SÔ1ñ 	CØ�O‰OœH T›N°CÀˆOÔB÷	CàØ�_‰_œX d›^°SÀˆ_ÓC€FÜ×Ñ˜& (Õ+÷		Càúr,   c                 ó�  — | }d}t        j                  g d¢dt        j                  dggg d¢¬«      }|j                  dk(  rEd}t        j                  t        |¬	«      5  |j                  t        |«      d
dd¬«       d d d «       y |j                  t        |«      d
dd¬«      }t        j                  ||«       y # 1 sw Y   y xY w)NzU# empty
# second empty line
# third empty line
X,Y,Z
1,2,3
A,B,C
1,2.,4.
5.,NaN,10.0
r   r	   r
   r   r   r   r   r   r   r:   r?   )r   r;   rA   r   r<   s         r*   Útest_comment_skiprows_headerrD   v   s¯   € Ø€Fð€Dô �|‰|Ú	˜3¤§¡¨Ð-Ð.ºô€Hð ‡}�}˜	Ò!ØOˆÜ�]‰]œ:¨SÔ1ñ 	OØ�O‰OœH T›N°CÀ!ÈAˆOÔN÷	Oàà�_‰_œX d›^°SÀ1ÈQˆ_ÓO€FÜ×Ñ˜& (Õ+÷	Oàús   ÁB<Â<CÚcomment_char)r   ú~ú&ú^r/   ú@c           	      óª  — | }d}|j                   dk(  rSd}t        j                  t        |¬«      5  |j	                  t        |j                  d|«      «      |¬«       d d d «       y |j	                  t        |j                  d|«      «      |¬«      }t        j                  g d¢g d¢gg d	¢¬
«      }t        j                  ||«       y # 1 sw Y   y xY w)Nz,a,b,c
1,2,3#ignore this!
4,5,6#ignorethistoor   r   r   r   )r   ©r?   é   é   )r:   é   é   ©ÚaÚbÚcr   )r   r   r   r    r!   r   r7   r   r   r"   r#   )r$   rE   r%   r&   r(   r)   r'   s          r*   Útest_custom_comment_charrT   ‘   sº   € à€FØ;€Dà‡}�}˜	Ò!ØOˆÜ�]‰]œ:¨SÔ1ñ 	Ø�O‰OÜ˜Ÿ™ c¨<Ó8Ó9À<ð ô ÷	ð 	Ø�_‰_Ü�—‘˜c <Ó0Ó1¸<ð ó €Fô �|‰|šYª	Ð2ºOÔL€HÜ×Ñ˜& (Õ+÷	ð 	ús   ±-C	Ã	CrA   Úinferc                 ó¬  — | }d}|€ t        j                  ddgddgddgdœ«      }nt        j                  g d	¢gg d
¢¬«      }|j                  dk(  rDd}t        j                  t
        |¬«      5  |j                  t        |«      d|¬«       d d d «       y |j                  t        |«      d|¬«      }t        j                  ||«       y # 1 sw Y   y xY w)Nz # notes
a,b,c
# more notes
1,2,3rQ   Ú1rR   Ú2rS   Ú3)r   r?   rL   rK   rP   r   r   r   r   r   r@   )
r   r   r   r   r   r    r!   r   r"   r#   )r$   rA   r%   r&   r'   r(   r)   s          r*   Útest_comment_first_linerZ   ¥   s¼   € ð €FØ0€Dà€~Ü—<‘< S¨# J°C¸°:À3ÈÀ*Ñ MÓN‰ä—<‘<¢ ²_ÔEˆà‡}�}˜	Ò!ØOˆÜ�]‰]œ:¨SÔ1ñ 	HØ�O‰OœH T›N°CÀˆOÔG÷	HàØ�_‰_œX d›^°SÀˆ_ÓH€FÜ×Ñ˜& (Õ+÷		Hàús   Á/C
Ã
Cc                 óV  — | j                   dk(  r6d}|j                  t        j                  j	                  |t
        ¬«      «       | }d}|j                   dk(  rDd}t        j                  t        |¬«      5  |j                  t        |«      dd	¬
«       d d d «       y |j                  t        |«      dd	¬
«      }t        j                  g d¢g d¢dt        j                  t        j                  gdt        j                  dgdœ«      }t        j                  ||«       y # 1 sw Y   y xY w)NrS   z=see gh-34002: works on the python engine but not the c engine)Úreasonr   zU# this is a comment
col1,col2,col3,col4
1,2,3,4#inline comment
4,5#,6,10
7,8,#N/A,11
r   r   r   r   z#N/Ar   )r?   r:   é   )rL   rN   é   g      @r   g      &@)Úcol1Úcol2Úcol3Úcol4)r   Úapplymarkerr   ÚmarkÚxfailÚAssertionErrorr   r    r!   r   r   r   r   r   r"   r#   )r$   Úrequestr\   r%   r&   r(   r)   r'   s           r*   Ú"test_comment_char_in_default_valuerh   ¹   sù   € à×Ñ˜SÒ ØPˆà×ÑœFŸK™K×-Ñ-°VÄNÐ-ÓSÔTØ€Fð	ð 	ð ‡}�}˜	Ò!ØOˆÜ�]‰]œ:¨SÔ1ñ 	KØ�O‰OœH T›N°CÀ6ˆOÔJ÷	KàØ�_‰_œX d›^°SÀFˆ_ÓK€FÜ�|‰|âÚØœ"Ÿ&™&¤"§&¡&Ð)Øœ"Ÿ&™& $Ð'ñ		
ó€Hô ×Ñ˜& (Õ+÷	Kàús   Á6DÄD()Ú__doc__Úior   Únumpyr   r   Úpandasr   Úpandas._testingÚ_testingr"   rd   Úparametrizer+   r8   r=   rB   rD   rT   rZ   rh   © ó    r*   ú<module>rr      sâ   ðñõ
 ã Û ã Ý ð ‡�×Ñ˜ t¨e¨W oÓ6ñ,ó 7ð,ð$ ‡�×Ñ˜¨Ð.>ÀÐ-DÀuÈfÀoÐ(VÓWñ",ó Xð",òJ,ò0,ò,,ð6 ‡�×Ñ˜Ò)GÓHñ,ó Ið,ð& ‡�×Ñ˜ G¨T ?Ó3ñ,ó 4ð,ó&,rq   