Ë
    ¤ehˆ  ã                   ó€  — 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          úa/var/www/skyplay_api_hub/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Ú*Údelim_whitespaceTc                 ó:  — | }d}d }d}|j                  d«      r|j                  dd«      }t        }n2|j                  d«      r!|j                  d|j                  d«      «      }d|d	<   |j                  d
k(  rkd|v rd}nd}t	        j
                  t        |¬«      5  t        j                  ||d¬«      5   |j                  t        |«      fi |¤Ž d d d «       d d d «       y |j                  dk(  ru|j                  d«      rdd}t	        j
                  t        |¬«      5  t        j                  ||d¬«      5   |j                  t        |«      fi |¤Ž d d d «       d d d «       y t        j                  ||d¬«      5   |j                  t        |«      fi |¤Ž}d d d «       t        g d¢dt        j                  dggg d¢¬«      }	t        j                  |	«       y # 1 sw Y   �ŒxY w# 1 sw Y   y xY w# 1 sw Y   Œ£xY w# 1 sw Y   y xY w# 1 sw Y   ŒuxY w)Nz@# empty
A,B,C
1,2.,4.#hello world
#ignore this line
5.,NaN,10.0
z;The 'delim_whitespace' keyword in pd.read_csv is deprecatedr/   ú,ú r-   ú
r   r   r   zFThe 'lineterminator' option is not supported with the 'pyarrow' enginer   r   F)r   Úcheck_stacklevelÚpythonz>Custom line terminators not supported in python parser \(yet\)r   r
   r   r   r   )ÚgetÚreplaceÚFutureWarningr   r   r   r   r!   Úassert_produces_warningr    r   r   r   r   r"   )
r#   r,   Úrequestr$   r%   ÚwarnÚdepr_msgr'   r(   r&   s
             r)   Útest_line_commentr=   !   sý  € ð €Fð€Dð €DØL€Hà‡�Ð)Ô*Ø�|‰|˜C Ó%ˆÜ‰Ø	�‰Ð)Ô	*Ø�|‰|˜D +§/¡/Ð2BÓ"CÓDˆà €K�	ÑØ‡}�}˜	Ò!Ø˜{Ñ*àXñ ð TˆCÜ�]‰]œ:¨SÔ1ñ 	?Ü×+Ñ+Ø˜H°uôñ ?ð  �—‘¤¨£Ñ>°+Ò>÷?÷	?ð
 	Ø	�‰˜(Ò	" {§¡Ð7GÔ'HØOˆÜ�]‰]œ:¨SÔ1ñ 	?Ü×+Ñ+Ø˜H°uôñ ?ð  �—‘¤¨£Ñ>°+Ò>÷?÷	?ð
 	ä	×	#Ñ	# D°È5Ô	Qñ @Ø �—‘¤¨$£Ñ?°;Ñ?ˆ÷@ô Ú	˜3¤§¡¨Ð-Ð.ºô€Hô ×Ñ˜& (Õ+÷)?ñ ?ú÷	?ð
 	ú÷?ð ?ú÷	?ð
 	ú÷@ð @úsT   ÂG-Â6G ÃG-Ä!HÄ:G9ÅHÆ HÇ G*	Ç%G-Ç-G6Ç9H	Ç>HÈHÈH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_skiprowsrB   U   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   rA   s         r)   Útest_comment_headerrG   m   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   r?   rD   )r   r@   rF   r   rA   s         r)   Útest_comment_skiprows_headerrI   ƒ   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   ©rD   é   é   )r?   é   é   ©ÚaÚbÚcr   )
r   r   r   r   r    r   r7   r   r!   r"   )r#   rJ   r$   r%   r'   r(   r&   s          r)   Útest_custom_comment_charrY   ž   s¶   € à€FØ;€Dà‡}�}˜	Ò!ØOˆÜ�]‰]œ:¨SÔ1ñ 	Ø�O‰OÜ˜Ÿ™ c¨<Ó8Ó9À<ð ô ÷	ð 	Ø�_‰_Ü�—‘˜c <Ó0Ó1¸<ð ó €Fô š)¢YÐ/ºÔI€HÜ×Ñ˜& (Õ+÷	ð 	ús   ±-B?Â?CrF   Ú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,3rV   Ú1rW   Ú2rX   Ú3)r   rD   rQ   rP   rU   r   r   r   r   r   rE   )	r   r   r   r   r   r    r   r!   r"   )r#   rF   r$   r%   r&   r'   r(   s          r)   Útest_comment_first_liner_   ²   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)NrX   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   )rD   r?   é   )rQ   rS   é   g      @r	   g      &@)Úcol1Úcol2Úcol3Úcol4)r   Úapplymarkerr   ÚmarkÚxfailÚAssertionErrorr   r   r    r   r   r   r   r!   r"   )r#   r:   ra   r$   r%   r'   r(   r&   s           r)   Ú"test_comment_char_in_default_valuerl   Æ   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!   ri   Úparametrizer*   r=   rB   rG   rI   rY   r_   rl   © ó    r)   ú<module>rv      sæ   ðñõ ã Û å Ý ð ‡�×Ñ˜ t¨e¨W oÓ6ñ,ó 7ð,ð$ ‡�×ÑØ�BÐ)¨3Ð/Ð2DÀdÐ1KÐLóñ.,óð.,òb,ò0,ò,,ð6 ‡�×Ñ˜Ò)GÓHñ,ó Ið,ð& ‡�×Ñ˜ G¨T ?Ó3ñ,ó 4ð,ó&,ru   