§
    tŠtji$  ã                   óL  — 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 ddlmZ ej                             d¦  «        Zej                             d¦  «        Zeej                             d	 e ed
¦  «        ¦  «        d
g¦  «        d„ ¦   «         ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zej                             ddd	dgi e
g d¢g d¢gg d¢¬¦  «        fdddgdœ e
g d¢gg d¢¬¦  «        fddddgdœ e
ddggdd g¬¦  «        fg¦  «        ed!„ ¦   «         ¦   «         Zed"„ ¦   «         Zej                             d#d$g d%¢g d&¢gfd'g d(¢g d)¢gfd*g d+¢g d,¢gfg¦  «        ed-„ ¦   «         ¦   «         Zeej                             d.g d/¢¦  «        d0„ ¦   «         ¦   «         Zed1„ ¦   «         Zeej                             d2i d3fdd4gd5œd4fg¦  «        d6„ ¦   «         ¦   «         Zed7„ ¦   «         Z ed8„ ¦   «         Z!ed9„ ¦   «         Z"ed:„ ¦   «         Z#ed;„ ¦   «         Z$dS )<zj
Tests that skipped rows are properly handled during
parsing for all of the parsers defined in parsers.py
é    )Údatetime)ÚStringION)ÚEmptyDataError)Ú	DataFrameÚIndexÚpyarrow_xfailz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningÚskiprowsé   c           	      ó~  — | }d}|                      t          |¦  «        |d dd¬¦  «        }t          t          ddd¦  «        t          ddd¦  «        t          ddd¦  «        gd	d¬
¦  «        }t	          t          j        dd¦  «                             d¦  «        g d¢|¬¦  «        }t          j	        ||¦  «         d S )Nzr#foo,a,b,c
#foo,a,b,c
#foo,a,b,c
#foo,a,b,c
#foo,a,b,c
#foo,a,b,c
1/1/2000,1.,2.,3.
1/2/2000,4,5,6
1/3/2000,7,8,9
r   T©r	   ÚheaderÚ	index_colÚparse_dateséÐ  é   é   é   úM8[us]©ÚdtypeÚnameç      ð?ç      $@©r   r   ©r   r   r   ©ÚcolumnsÚindex©
Úread_csvr   r   r   r   ÚnpÚarangeÚreshapeÚtmÚassert_frame_equal)Úall_parsersr	   ÚparserÚtextÚresultr   Úexpecteds          úb/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pandas/tests/io/parser/test_skiprows.pyÚtest_skip_rows_bugr,      sÜ   € ð €Fð	€Dð �_Š_Ý�‰Œ °$À!ÐQUð ñ ô €Fõ Ý	�$˜˜1Ñ	Ô	�x¨¨a°Ñ3Ô3µX¸dÀAÀqÑ5IÔ5IÐJØØðñ ô €Eõ Ý
Œ	�#�tÑÔ×$Ò$ VÑ,Ô,°i°i°iÀuðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+ó    c                 óf  — | }dd                      d„ t          d¦  «        D ¦   «         ¦  «        z   }dd                      d„ dD ¦   «         ¦  «        z   }|                     t          |¦  «        ddg¬	¦  «        }|                     t          |¦  «        ¦  «        }t	          j        ||¦  «         d S )
Nza,b,c
ú
c           
      ó˜   — g | ]G}d                       t          |¦  «        t          |dz   ¦  «        t          |dz   ¦  «        g¦  «        ‘ŒHS ©ú,r   r   ©ÚjoinÚstr©Ú.0Úis     r+   ú
<listcomp>z'test_deep_skip_rows.<locals>.<listcomp>=   sE   € ÐGÐGÐG¸ˆ�Š•3�q‘6”6�3˜q 1™u™:œ:¥s¨1¨q©5¡z¤zÐ2Ñ	3Ô	3ÐGÐGÐGr-   é
   c           
      ó˜   — g | ]G}d                       t          |¦  «        t          |dz   ¦  «        t          |dz   ¦  «        g¦  «        ‘ŒHS r1   r3   r6   s     r+   r9   z'test_deep_skip_rows.<locals>.<listcomp>@   sE   € ÐVÐVÐV¸ˆ�Š•3�q‘6”6�3˜q 1™u™:œ:¥s¨1¨q©5¡z¤zÐ2Ñ	3Ô	3ÐVÐVÐVr-   )r   r   r   r   é   r
   é   é	   r
   r=   ©r	   )r4   Úranger    r   r$   r%   )r&   r'   ÚdataÚcondensed_datar)   Úcondensed_results         r+   Útest_deep_skip_rowsrD   8   s½   € ð €FØ�t—y’yØGÐG½UÀ2¹Y¼YÐGÑGÔGñô ñ €Dð  §¢ØVÐVÐ=UÐVÑVÔVñ"ô "ñ €Nð �_Š_�X d™^œ^°q¸!°fˆ_Ñ=Ô=€FØ—’¥x°Ñ'?Ô'?Ñ@Ô@ÐÝÔ˜&Ð"2Ñ3Ô3Ð3Ð3Ð3r-   c           	      ó~  — | }d}|                      t          |¦  «        dd dd¬¦  «        }t          t          ddd¦  «        t          ddd¦  «        t          ddd	¦  «        gd
d¬¦  «        }t	          t          j        dd¦  «                             d¦  «        g d¢|¬¦  «        }t          j	        ||¦  «         d S )Nz^#foo,a,b,c
#foo,a,b,c

#foo,a,b,c
#foo,a,b,c

1/1/2000,1.,2.,3.
1/2/2000,4,5,6
1/3/2000,7,8,9
r
   r   Tr   r   r   r   r   r   r   r   r   r   r   r   r   )r&   r'   r(   rA   r   r*   s         r+   Útest_skip_rows_blankrF   H   sÛ   € ð €Fð	€Dð �?Š?Ý�‰Œ ¨4¸1È$ð ñ ô €Dõ Ý	�$˜˜1Ñ	Ô	�x¨¨a°Ñ3Ô3µX¸dÀAÀqÑ5IÔ5IÐJØØðñ ô €Eõ Ý
Œ	�#�tÑÔ×$Ò$ VÑ,Ô,°i°i°iÀuðñ ô €Hõ Ô˜$ Ñ)Ô)Ð)Ð)Ð)r-   zdata,kwargs,expectedzKid,text,num_lines
1,"line 11
line 12",2
2,"line 21
line 22",2
3,"line 31",1r   )r   zline 21
line 22r   )r   zline 31r   ©Úidr(   Ú	num_lines©r   z+a,b,c
~a
 b~,~e
 d~,~f
 f~
1,2,~12
 13
 14~ú~r   )Ú	quotecharr	   )za
 bze
 dzf
 f)ÚaÚbÚczdText,url
~example
 sentence
 one~,url1
~example
 sentence
 two~,url2
~example
 sentence
 three~,url3r   zexample
 sentence
 twoÚurl2ÚTextÚurlc                 ój   — | } |j         t          |¦  «        fi |¤Ž}t          j        ||¦  «         d S )N)r    r   r$   r%   )r&   rA   Úkwargsr*   r'   r)   s         r+   Útest_skip_row_with_newlinerU   e   sB   € ðH €FØˆVŒ_�X d™^œ^Ð6Ð6¨vÐ6Ð6€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r-   c                 ó¸   — | }d}g d¢g d¢g}t          |g d¢¬¦  «        }|                     t          |¦  «        dg¬¦  «        }t          j        ||¦  «         d S )NzYid,text,num_lines
1,"line '11' line 12",2
2,"line '21' line 22",2
3,"line '31' line 32",1)r   zline '21' line 22r   )r   zline '31' line 32r   rG   rJ   r   r?   ©r   r    r   r$   r%   )r&   r'   rA   Úexp_datar*   r)   s         r+   Útest_skip_row_with_quoterY   Ž   sx   € ð €Fð€Dð
 ,Ð+Ð+Ð-HÐ-HÐ-HÐI€HÝ˜Ð+FÐ+FÐ+FÐGÑGÔG€Hà�_Š_�X d™^œ^°q°cˆ_Ñ:Ô:€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r-   zdata,exp_dataz\id,text,num_lines
1,"line 
'11' line 12",2
2,"line 
'21' line 22",2
3,"line 
'31' line 32",1)r   zline 
'21' line 22r   )r   zline 
'31' line 32r   z\id,text,num_lines
1,"line '11
' line 12",2
2,"line '21
' line 22",2
3,"line '31
' line 32",1)r   zline '21
' line 22r   )r   zline '31
' line 32r   zbid,text,num_lines
1,"line '11
' 	line 12",2
2,"line '21
' 	line 22",2
3,"line '31
' 	line 32",1)r   zline '21
' 	line 22r   )r   zline '31
' 	line 32r   c                 ó¤   — | }|                      t          |¦  «        dg¬¦  «        }t          |g d¢¬¦  «        }t          j        ||¦  «         d S )Nr   r?   rG   rJ   ©r    r   r   r$   r%   )r&   rA   rX   r'   r)   r*   s         r+   Ú$test_skip_row_with_newline_and_quoter\   ž   sX   € ð: €FØ�_Š_�X d™^œ^°q°cˆ_Ñ:Ô:€Få˜Ð+FÐ+FÐ+FÐGÑGÔG€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r-   Úlineterminator)r/   z
úc                 ó¢  — | }d                      g d¢¦  «        }t          g d¢g d¢g d¢gg d¢¬¦  «        }|j        dk    r;|d	k    r5t          j                             d
¬¦  «        }|                     |¦  «         |                     d|¦  «        }|                     t          |¦  «        ddg d¢¬¦  «        }t          j        ||¦  «         d S )Nr/   )zSMOSMANIA ThetaProbe-ML2X z2007/01/01 01:00   0.2140 U M z2007/01/01 02:00   0.2141 M O z2007/01/01 04:00   0.2142 D M )ú
2007/01/01z01:00g1¬ZdË?ÚUÚM)r`   z02:00gºk	ù gË?rb   ÚO)r`   z04:00gBÏfÕçjË?ÚDrb   )ÚdateÚtimeÚvarÚflagÚoflagrJ   Úpythonr^   z+'CR' not respect with the Python parser yet)Úreasonr   z\s+)r	   ÚsepÚnames)r4   r   ÚengineÚpytestÚmarkÚxfailÚapplymarkerÚreplacer    r   r$   r%   )r&   r]   Úrequestr'   rA   r*   rp   r)   s           r+   Útest_skiprows_lineterminatorru   Â   s  € ð €FØ�9Š9ð	
ð 	
ð 	
ñô €Dõ à5Ð5Ð5Ø5Ð5Ð5Ø5Ð5Ð5ð	
ð
 9Ð8Ð8ðñ ô €Hð „}˜Ò Ð  ^°tÒ%;Ð%;ÝŒ{× Ò Ð(UÐ ÑVÔVˆØ×Ò˜DÑ!Ô!Ð!à�<Š<˜˜nÑ-Ô-€Dà�_Š_Ý�‰ŒØØØ6Ð6Ð6ð	 ñ ô €Fõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r-   c                 ó¤   — | }d}t          ddgi¦  «        }|                     t          |¦  «        d¬¦  «        }t          j        ||¦  «         d S )Nz	a"
b"
a
1rM   r   r   r?   rW   ©r&   r'   rA   r*   r)   s        r+   Útest_skiprows_infield_quoterx   ê   sU   € ð €FØ€DÝ˜# ˜s˜Ñ$Ô$€Hà�_Š_�X d™^œ^°aˆ_Ñ8Ô8€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r-   zkwargs,expectedÚ1Úfoo)r   rm   c                 óš   — | }d} |j         t          |¦  «        fdd„ i|¤Ž}t          |ddgi¦  «        }t          j        ||¦  «         d S )Núa
1
2
3
4
5r	   c                 ó   — | dz  dk    S )Nr   r   © ©Úxs    r+   ú<lambda>z)test_skip_rows_callable.<locals>.<lambda>  s   € ÀÀAÁÈÂ
€ r-   r   é   r[   )r&   rT   r*   r'   rA   r)   s         r+   Útest_skip_rows_callablerƒ   õ   se   € ð €FØ€DàˆVŒ_�X d™^œ^ÐUÐUÐ6JÐ6JÐUÈfÐUÐU€FÝ˜( Q¨ FÐ+Ñ,Ô,€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r-   c                 ó®   — | }d}t          ddgddgg¦  «        }|                     t          |¦  «        d d„ ¬¦  «        }t          j        ||¦  «         d S )Nz0,a
1,b
2,c
3,d
4,er   rN   r   Údc                 ó
   — | dvS )N)r   r   r~   r   s    r+   r�   z0test_skip_rows_callable_not_in.<locals>.<lambda>  s
   € ¸À¸€ r-   )r   r	   rW   rw   s        r+   Útest_skip_rows_callable_not_inr‡     sj   € à€FØ$€DÝ˜1˜c˜( Q¨ HÐ-Ñ.Ô.€Hà�_Š_Ý�‰Œ˜tÐ.GÐ.Gð ñ ô €Fõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r-   c                 óÄ   — | }d}d}t          j        t          |¬¦  «        5  |                     t	          |¦  «        d„ ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr|   zNo columns to parse from file©Úmatchc                 ó   — dS )NTr~   r   s    r+   r�   z)test_skip_rows_skip_all.<locals>.<lambda>  s   € ¸4€ r-   r?   )ro   Úraisesr   r    r   )r&   r'   rA   Úmsgs       r+   Útest_skip_rows_skip_allrŽ     s¼   € à€FØ€DØ
)€Cå	Œ•~¨SÐ	1Ñ	1Ô	1ð Að AØ�Š� ™œ°°ˆÑ@Ô@Ð@ðAð Að Añ Aô Að Að Að Að Að Að Að Aøøøð Að Að Að Að Að Aó   ¢&AÁAÁAc                 óÄ   — d}| }d}t          j        t          |¬¦  «        5  |                     t	          |¦  «        d„ ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzby zeror|   r‰   c                 ó   — ddz  S )Nr   r   r~   r   s    r+   r�   z-test_skip_rows_bad_callable.<locals>.<lambda>#  s
   € ¸1¸q¹5€ r-   r?   )ro   rŒ   ÚZeroDivisionErrorr    r   )r&   r�   r'   rA   s       r+   Útest_skip_rows_bad_callabler“     s½   € à
€CØ€FØ€Då	ŒÕ(°Ð	4Ñ	4Ô	4ð Bð BØ�Š� ™œ°°ˆÑAÔAÐAðBð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð Bð Bð Br�   c                 ó²   — d}| }|                      t          |¦  «        dg d¢¬¦  «        }t          g d¢g d¢dœ¦  «        }t          j        ||¦  «         d S )Nz$a,b
1,a
2,b
3,c
4,d
5,e
6,f
7,g
8,h
r‚   )r   r<   r
   )Únrowsr	   )r   r   r‚   é   r=   )rM   rO   ÚeÚgÚh)rM   rN   r[   )r&   rA   r'   r)   r*   s        r+   Útest_skip_rows_and_n_rowsrš   &  sj   € ð	€Dð €FØ�_Š_�X d™^œ^°1¸y¸y¸yˆ_ÑIÔI€FÝ˜˜˜Ð5NÐ5NÐ5NÐOÐOÑPÔP€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r-   c                 ó8  — d}| }|                      t          |¦  «        |d„ d¬¦  «        }t          |¦  «        }t          |¦  «        }t          j        |t          dg d¢i¦  «        ¦  «         t          j        |t          dg d¢ig d¢¬	¦  «        ¦  «         d S )
Nz%col_a
10
20
30
40
50
60
70
80
90
100
c                 ó
   — | dv S )N)r   r<   r‚   r~   r   s    r+   r�   z,test_skip_rows_with_chunks.<locals>.<lambda>J  s
   € ¸!¸y¸.€ r-   r<   )rn   r	   Ú	chunksizeÚcol_a)é   é   é<   éF   )éP   éZ   éd   )r<   r‚   r
   )r   )r    r   Únextr$   r%   r   )r&   rA   r'   ÚreaderÚdf1Údf2s         r+   Útest_skip_rows_with_chunksrª   9  s®   € ð€Dð €FØ�_Š_Ý�‰Œ˜vÐ0HÐ0HÐTUð ñ ô €Fõ ˆv‰,Œ,€CÝ
ˆv‰,Œ,€CåÔ˜#�y¨'Ð3CÐ3CÐ3CÐ)DÑEÔEÑFÔFÐFÝÔ˜#�y¨'°=°=°=Ð)AÈÈÈÐSÑSÔSÑTÔTÐTÐTÐTr-   )%Ú__doc__r   Úior   Únumpyr!   ro   Úpandas.errorsr   Úpandasr   r   Úpandas._testingÚ_testingr$   rp   ÚusefixturesÚxfail_pyarrowÚfilterwarningsÚ
pytestmarkÚparametrizeÚlistr@   r,   rD   rF   rU   rY   r\   ru   rx   rƒ   r‡   rŽ   r“   rš   rª   r~   r-   r+   ú<module>r¸      sf  ððð ð
 Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø €€€à (Ð (Ð (Ð (Ð (Ð (ðð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð à”×'Ò'¨Ñ8Ô8€ØŒ[×'Ò'ØCñô €
ð
 Ø„×Ò˜ d d¨5¨5°©8¬8¡n¤n°aÐ%8Ñ9Ô9ð,ð ,ñ :Ô9ñ „ð,ð8 ð4ð 4ñ „ð4ð ð*ð *ñ „ð*ð8 „×ÒØðð ˜!˜ÐØˆIØ+Ð+Ð+Ð->Ð->Ð->Ð?Ø3Ð3Ð3ðñ ô ð	
ð AØ¨A¨3Ð/Ð/ØˆIÐ2Ð2Ð2Ð3¸_¸_¸_ÐMÑMÔMð	
ð3ð
 ¨A¨q¨6Ð2Ð2ØˆIÐ2°FÐ;Ð<ÀvÈuÀoÐVÑVÔVð		
ð'ñ ô  ðB ð,ð ,ñ „ñC ô  ðD,ð ð,ð ,ñ „ð,ð „×ÒØðð +Ð*Ð*Ð,IÐ,IÐ,IÐJð	
ðð +Ð*Ð*Ð,IÐ,IÐ,IÐJð	
ð!ð /Ð.Ð.Ð0QÐ0QÐ0QÐRð	
ðñô ð4 ð,ð ,ñ „ñ5ô ð6,ð Ø„×ÒØØÐÐñô ð ,ð  ,ñ	ô ñ „ð
 ,ðF ð,ð ,ñ „ð,ð Ø„×ÒØà	ˆSˆ	Ø  Ð	(Ð	(¨%Ð0ðñô ð,ð ,ñô ñ „ð,ð ð,ð ,ñ „ð,ð ðAð Añ „ðAð ðBð Bñ „ðBð ð,ð ,ñ „ð,ð$ ðUð Uñ „ðUð Uð Ur-   