Ë
    «2Úi•  ã                   ó€  — d Z ddlmZ ddlZddlZddlm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)Ú	DataFrameÚ	na_valuesÚNaNc                 óx  — | }d}t        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   ©r   ÚnpÚnanÚengineÚpytestÚraisesÚ
ValueErrorÚread_csvr   ÚtmÚassert_frame_equal)Úall_parsersr   ÚparserÚdataÚexpectedÚmsgÚresults          úZ/var/www/html/acx/venv/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àúó   ÁB0Â0B9Ú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        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
r/   ú,ú 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&   s          r)   Útest_line_commentr7   "   s^  € à€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   ÂE3Ã6E?Å3E<Å?Fc                 óx  — | }d}t        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                 óx  — | }d}t        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_headerrA   `   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        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   r9   r>   )r   r:   r@   r   r;   s         r)   Útest_comment_skiprows_headerrC   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   ÁB2Â2B;Ú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        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>   é   é   )r9   é   é   ©ÚaÚbÚcr   )
r   r   r   r   r    r   r6   r   r!   r"   )r#   rD   r$   r%   r'   r(   r&   s          r)   Útest_custom_comment_charrS   ‘   s¶   € à€FØ;€Dà‡}�}˜	Ò!ØOˆÜ�]‰]œ:¨SÔ1ñ 	Ø�O‰OÜ˜Ÿ™ c¨<Ó8Ó9À<ð ô ÷	ð 	Ø�_‰_Ü�—‘˜c <Ó0Ó1¸<ð ó €Fô š)¢YÐ/ºÔI€HÜ×Ñ˜& (Õ+÷	ð 	ús   ±-B?Â?Cr@   Úinferc                 ó„  — | }d}|€t        ddgddgddgdœ«      }nt        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,3rP   Ú1rQ   Ú2rR   Ú3)r   r>   rK   rJ   rO   r   r   r   r   r   r?   )	r   r   r   r   r   r    r   r!   r"   )r#   r@   r$   r%   r&   r'   r(   s          r)   Útest_comment_first_linerY   ¥   s´   € ð €FØ0€Dà€~Ü # s °°c°
ÀÀS¸zÑJÓK‰äši˜[²/ÔBˆà‡}�}˜	Ò!ØOˆÜ�]‰]œ:¨SÔ1ñ 	HØ�O‰OœH T›N°CÀˆOÔG÷	HàØ�_‰_œX d›^°SÀˆ_ÓH€FÜ×Ñ˜& (Õ+÷		Hàús   ÁB6Â6B?c                 óB  — | 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        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)NrR   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>   r9   é   )rK   rM   é   g      @r	   g      &@)Úcol1Úcol2Úcol3Úcol4)r   Úapplymarkerr   ÚmarkÚxfailÚAssertionErrorr   r   r    r   r   r   r   r!   r"   )r#   Úrequestr[   r$   r%   r'   r(   r&   s           r)   Ú"test_comment_char_in_default_valuerg   ¹   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!   rc   Úparametrizer*   r7   r<   rA   rC   rS   rY   rg   © ó    r)   ú<module>rq      sâ   ðñõ
 ã Û å Ý ð ‡�×Ñ˜ t¨e¨W oÓ6ñ,ó 7ð,ð$ ‡�×Ñ˜¨Ð.>ÀÐ-DÀuÈfÀoÐ(VÓWñ",ó Xð",òJ,ò0,ò,,ð6 ‡�×Ñ˜Ò)GÓHñ,ó Ið,ð& ‡�×Ñ˜ G¨T ?Ó3ñ,ó 4ð,ó&,rp   