§
    á! hñ$  ã                   ó€  — 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  e
d3dd4gi¦  «        fdd5gd6œ e
d5dd4gi¦  «        fg¦  «        d7„ ¦   «         ¦   «         Zed8„ ¦   «         Z ed9„ ¦   «         Z!ed:„ ¦   «         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¬	¦  «        }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éÐ  é   é   é   ©Ú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          ú^c:\xampp_lite_8_4\www\timesheet\venv\Lib\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ÐQRðñ ô €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 r/   r1   r4   s     r)   r7   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	   )r2   Úranger   r   r"   r#   )r$   r%   ÚdataÚcondensed_datar'   Úcondensed_results         r)   Útest_deep_skip_rowsrB   6   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¬
¦  «        }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?   r   r(   s         r)   Útest_skip_rows_blankrD   F   sØ   € ð €Fð	€Dð �?Š?Ý�‰Œ ¨4¸1È$ð ñ ô €Dõ Ý	�$˜˜1Ñ	Ô	�x¨¨a°Ñ3Ô3µX¸dÀAÀqÑ5IÔ5IÐJÐQRðñ ô €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$   r?   Úkwargsr(   r%   r'   s         r)   Útest_skip_row_with_newlinerT   a   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   rE   rH   r   r=   ©r   r   r   r"   r#   )r$   r%   r?   Úexp_datar(   r'   s         r)   Útest_skip_row_with_quoterX   Š   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=   rE   rH   ©r   r   r   r"   r#   )r$   r?   rW   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|¦  «        }d}t          j	        t          |d¬¦  «        5  |                     t          |¦  «        ddg d¢¬¦  «        }d d d ¦  «         n# 1 swxY w Y   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Ë?ra   ÚO)r_   z04:00gBÏfÕçjË?ÚDra   )ÚdateÚtimeÚvarÚflagÚoflagrH   Úpythonr]   z+'CR' not respect with the Python parser yet)Úreasonz;The 'delim_whitespace' keyword in pd.read_csv is deprecatedF)ÚmatchÚcheck_stacklevelr   T)r	   Údelim_whitespaceÚnames)r2   r   ÚengineÚpytestÚmarkÚxfailÚapplymarkerÚreplacer"   Úassert_produces_warningÚFutureWarningr   r   r#   )	r$   r\   Úrequestr%   r?   r(   rq   Údepr_msgr'   s	            r)   Útest_skiprows_lineterminatorry   ¾   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àL€HÝ	Ô	#Ý˜X¸ð
ñ 
ô 
ð 
ð 
ð —’Ý�T‰NŒNØØ!Ø:Ð:Ð:ð	 !ñ 
ô 
ˆð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
õ Ô˜& (Ñ+Ô+Ð+Ð+Ð+s   Â0)C%Ã%C)Ã,C)c                 ó¤   — | }d}t          ddgi¦  «        }|                     t          |¦  «        d¬¦  «        }t          j        ||¦  «         d S )Nz	a"
b"
a
1rK   r   r   r=   rV   ©r$   r%   r?   r(   r'   s        r)   Útest_skiprows_infield_quoter|   é   sU   € ð €FØ€DÝ˜# ˜s˜Ñ$Ô$€Hà�_Š_�X d™^œ^°aˆ_Ñ8Ô8€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r+   zkwargs,expectedÚ1é   Úfoo)r   rn   c                 ót   — | }d} |j         t          |¦  «        fdd„ 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+   rR   )r$   rS   r(   r%   r?   r'   s         r)   Útest_skip_rows_callabler‡   ô   sO   € ð €FØ€DàˆVŒ_�X d™^œ^ÐUÐUÐ6JÐ6JÐUÈfÐUÐU€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+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   rL   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	   rV   r{   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©rk   c                 ó   — dS )NTrƒ   r„   s    r)   r†   z)test_skip_rows_skip_all.<locals>.<lambda>  s   € ¸4€ r+   r=   )rp   Úraisesr   r   r   )r$   r%   r?   Ú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=   )rp   r�   ÚZeroDivisionErrorr   r   )r$   r�   r%   r?   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;   )rK   rM   ÚeÚgÚh)rK   rL   rZ   )r$   r?   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>H  s
   € ¸!¸y¸.€ r+   r:   )ro   r	   Ú	chunksizeÚcol_a)é   é   é<   éF   )éP   éZ   éd   )r:   r~   r
   )r   )r   r   Únextr"   r#   r   )r$   r?   r%   ÚreaderÚdf1Údf2s         r)   Útest_skip_rows_with_chunksr­   7  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   rp   Úpandas.errorsr   Úpandasr   r   Úpandas._testingÚ_testingr"   rq   ÚusefixturesÚxfail_pyarrowÚfilterwarningsÚ
pytestmarkÚparametrizeÚlistr>   r*   rB   rD   rT   rX   r[   ry   r|   r‡   r‹   r‘   r–   r�   r­   rƒ   r+   r)   ú<module>r»      s‹  ððð ð
 Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø €€€à (Ð (Ð (Ð (Ð (Ð (ðð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð à”×'Ò'¨Ñ8Ô8€ØŒ[×'Ò'ØCñô €
ð
 Ø„×Ò˜ d d¨5¨5°©8¬8¡n¤n°aÐ%8Ñ9Ô9ð,ð ,ñ :Ô9ñ „ð,ð4 ð4ð 4ñ „ð4ð ð*ð *ñ „ð*ð4 „×ÒØðð ˜!˜ÐØˆ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,ð Ø„×ÒØÐ*Ð*Ð*ñô ð$,ð $,ñô ñ „ð$,ðN ð,ð ,ñ „ð,ð Ø„×ÒØà	ˆYˆY˜˜a ˜V�}Ñ%Ô%Ð&Ø  Ð	(Ð	(¨)¨)°U¸QÀ¸F°OÑ*DÔ*DÐEðñô ð,ð ,ñô ñ „ð,ð ð,ð ,ñ „ð,ð ðAð Añ „ðAð ðBð Bñ „ðBð ð,ð ,ñ „ð,ð$ ðUð Uñ „ðUð Uð Ur+   