+
    xȇii$                        R t ^ RIHt ^ RIHt ^ RIt^ RIt^ RIHt ^ RI	H
t
Ht ^ RIHt ]P                  P!                  R4      t]P                  P%                  R4      t]]P                  P)                  R]! ]! ^4      4      ^.4      R	 4       4       t]R
 4       t]R 4       t]P                  P)                  RRR^./]
! . R,O. R-O.. R.OR7      3RRRR^./]
! . R/O.. R0OR7      3RRRR^^./]
! RR..RR.R7      3.4      ]R 4       4       t]R 4       t]P                  P)                  RR. R1O. R2O.3R. R3O. R4O.3R. R5O. R6O.3.4      ]R 4       4       t]]P                  P)                  R. R7O4      R 4       4       t]R  4       t]]P                  P)                  R!/ R"3R#^ R$R%./R%3.4      R& 4       4       t]R' 4       t ]R( 4       t!]R) 4       t"]R* 4       t#]R+ 4       t$R# )8zj
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skiprowsc           	      D   T pR pVP                  \        V4      VR^ RR7      p\        \        R^^4      \        R^^4      \        R^^4      .R^ R7      p\	        \
        P                  ! RR4      P                  R
4      . ROVR	7      p\        P                  ! WF4       R# )zr#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
NTr   header	index_colparse_dates  M8[us]dtypename      ?      $@columnsindex   r         r   
read_csvr   r   r   r   nparangereshapetmassert_frame_equal)all_parsersr   parsertextresultr   expecteds   &&     t/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/io/parser/test_skiprows.pytest_skip_rows_bugr*      s     F	D __$!QU  F 	$1	xa3XdAq5IJE 
		#t$$V,iuH &+    c                 X   T pR RP                  \        ^
4       Uu. uF@  pRP                  \        V4      \        V^,           4      \        V^,           4      .4      NKB  	  up4      ,           pR RP                  R Uu. uF@  pRP                  \        V4      \        V^,           4      \        V^,           4      .4      NKB  	  up4      ,           pVP                  \	        V4      ^^.R7      pVP                  \	        V4      4      p\
        P                  ! WV4       R# u upi u upi )za,b,c

,r   N)    r   r   r            	   )joinrangestrr   r   r"   r#   )r$   r%   idatacondensed_datar'   condensed_results   &      r)   test_deep_skip_rowsr<   8   s     Ftyy=B2YGY3q63q1u:s1q5z2	3YG D =UV=U3q63q1u:s1q5z2	3=UV" N __Xd^q!f_=Fx'?@&3 	H 	Ws   AD"
?AD'
c           	      D   T pR pVP                  \        V4      ^R^ RR7      p\        \        R^^4      \        R^^4      \        R^^4      .R^ R7      p\	        \
        P                  ! RR4      P                  R
4      . ROVR	7      p\        P                  ! W54       R# )z^#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
NTr
   r   r   r   r   r   r   r   r   r   )r$   r%   r&   r9   r   r(   s   &     r)   test_skip_rows_blankr>   H   s     F	D ??41$  D 	$1	xa3XdAq5IJE 
		#t$$V,iuH $)r+   zdata,kwargs,expectedzKid,text,num_lines
1,"line 11
line 12",2
2,"line 21
line 22",2
3,"line 31",1r   z+a,b,c
~a
 b~,~e
 d~,~f
 f~
1,2,~12
 13
 14~	quotechar~zdText,url
~example
 sentence
 one~,url1
~example
 sentence
 two~,url2
~example
 sentence
 three~,url3zexample
 sentence
 twourl2Texturlc                 n    T pVP                   ! \        V4      3/ VB p\        P                  ! WS4       R # )N)r   r   r"   r#   )r$   r9   kwargsr(   r%   r'   s   &&&&  r)   test_skip_row_with_newlinerG   e   s/    H F__Xd^6v6F&+r+   c                     T pR p. RO. RO.p\        V. ROR7      pVP                  \        V4      ^.R7      p\        P                  ! WT4       R# )zYid,text,num_lines
1,"line '11' line 12",2
2,"line '21' line 22",2
3,"line '31' line 32",1r?   r/   N)r   zline '21' line 22r   )r   zline '31' line 32r   idr&   	num_linesr   r   r   r"   r#   )r$   r%   r9   exp_datar(   r'   s   &     r)   test_skip_row_with_quoterN      sP     FD
 ,-HIH+FGH__Xd^qc_: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",1z\id,text,num_lines
1,"line '11
' line 12",2
2,"line '21
' line 22",2
3,"line '31
' line 32",1zbid,text,num_lines
1,"line '11
' 	line 12",2
2,"line '21
' 	line 22",2
3,"line '31
' 	line 32",1c                     T pVP                  \        V4      ^.R7      p\        V. ROR7      p\        P                  ! WE4       R# )r   r/   r?   NrI   r   r   r   r"   r#   )r$   r9   rM   r%   r'   r(   s   &&&   r)   $test_skip_row_with_newline_and_quoterQ      s<    : F__Xd^qc_:F+FGH&+r+   lineterminatorc                    T pR P                  . R	O4      p\        . R
O. RO. RO.. ROR7      pVP                  R8X  d9   VR8X  d2   \        P                  P                  RR7      pVP                  V4       VP                  R V4      pVP                  \        V4      ^R. ROR7      p\        P                  ! Wu4       R# )r-   r?   pythonz+'CR' not respect with the Python parser yet)reasonz\s+)r   sepnamesN)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)rY   z02:00gk	g?r[   O)rY   z04:00gBfj?Dr[   )datetimevarflagoflag)r5   r   enginepytestmarkxfailapplymarkerreplacer   r   r"   r#   )r$   rR   requestr%   r9   r(   re   r'   s   &&&     r)   test_skiprows_lineterminatorrj      s     F99	
D 555	

 9H }} ^t%;{{  (U VD!<<n-D__6	  F &+r+   c                     T pR p\        R^./4      pVP                  \        V4      ^R7      p\        P                  ! WC4       R# )z	a"
b"
a
1ar/   NrL   r$   r%   r9   r(   r'   s   &    r)   test_skiprows_infield_quotern      sB     FD#s$H__Xd^a_8F&+r+   zkwargs,expected1r   rX   fooc                     T pR pVP                   ! \        V4      3RR /VB p\        V^^./4      p\        P                  ! WR4       R# )a
1
2
3
4
5r   c                     V ^,          ^ 8H  # )r    xs   &r)   <lambda>)test_skip_rows_callable.<locals>.<lambda>  s    A
r+   NrP   )r$   rF   r(   r%   r9   r'   s   &&&   r)   test_skip_rows_callablery      sL     FD__Xd^U6JUfUF(QF+,H&+r+   c                     T pR p\        ^R.^R..4      pVP                  \        V4      RR R7      p\        P                  ! WC4       R# )z0,a
1,b
2,c
3,d
4,ebdNc                     V R9  # )r   )r   r   rt   ru   s   &r)   rw   0test_skip_rows_callable_not_in.<locals>.<lambda>  s    r+   )r   r   rL   rm   s   &    r)   test_skip_rows_callable_not_inr     sR    F$D1c(QH-.H__t.G  F &+r+   c                     T pR pRp\         P                  ! \        VR7      ;_uu_ 4        VP                  \	        V4      R R7       RRR4       R#   + '       g   i     R# ; i)rr   zNo columns to parse from filematchc                     R # )Trt   ru   s   &r)   rw   )test_skip_rows_skip_all.<locals>.<lambda>  s    4r+   r/   N)rd   raisesr   r   r   )r$   r%   r9   msgs   &   r)   test_skip_rows_skip_allr     sE    FD
)C	~S	1	1@ 
2	1	1	1   AA$	c                     R pT pRp\         P                  ! \        VR7      ;_uu_ 4        VP                  \	        V4      R R7       RRR4       R#   + '       g   i     R# ; i)zby zerorr   r   c                     ^^ ,          # )r   rt   ru   s   &r)   rw   -test_skip_rows_bad_callable.<locals>.<lambda>#  s    1q5r+   r/   N)rd   r   ZeroDivisionErrorr   r   )r$   r   r%   r9   s   &   r)   test_skip_rows_bad_callabler     sF    
CFD	(	4	4A 
5	4	4	4r   c                     R pT pVP                  \        V4      ^. ROR7      p\        R. ROR. RO/4      p\        P                  ! W44       R# )z$a,b
1,a
2,b
3,c
4,d
5,e
6,f
7,g
8,h
)nrowsr   rl   r{   N)r   r1   r2   )r   r         r3   )rl   ceghrP   )r$   r9   r%   r'   r(   s   &    r)   test_skip_rows_and_n_rowsr   &  sJ    	D F__Xd^1y_IF#5NOPH&+r+   c                    R pT pVP                  \        V4      VR ^R7      p\        V4      p\        V4      p\        P                  ! V\        R. RO/4      4       \        P                  ! V\        R. RO/. ROR7      4       R# )	z%col_a
10
20
30
40
50
60
70
80
90
100
c                     V R9   # )r   )r   r1   r   rt   ru   s   &r)   rw   ,test_skip_rows_with_chunks.<locals>.<lambda>J  s    !y.r+   )rc   r   	chunksizecol_a)r   N)      <   F   )P   Z   d   )r1   r   r2   )r   r   nextr"   r#   r   )r$   r9   r%   readerdf1df2s   &     r)   test_skip_rows_with_chunksr   9  s}    D F__v0HTU  F v,C
v,C#y'3C)DEF#y'=)ASTr+   )r   zline 21
line 22r   )r   zline 31r   rI   )za
 bze
 dzf
 f)rl   r{   r   )r   zline 
'21' line 22r   )r   zline 
'31' line 32r   )r   zline '21
' line 22r   )r   zline '31
' line 32r   )r   zline '21
' 	line 22r   )r   zline '31
' 	line 32r   )r-   z
rU   )%__doc__r   ior   numpyr   rd   pandas.errorsr   pandasr   r   pandas._testing_testingr"   re   usefixturesxfail_pyarrowfilterwarnings
pytestmarkparametrizelistr6   r*   r<   r>   rG   rN   rQ   rj   rn   ry   r   r   r   r   r   rt   r+   r)   <module>r      s  
     ( ''8[[''C

 d58na%89, : ,8 4 4 * *8  !+->?3	
 A#zA3/23_M	
3
 #zAq622F;<vuoV		
' B , C D, , ,  +,IJ	
 +,IJ	
! /0QR	
4 , 56,  ,	 
 ,F , , 	S	
Aw	(%0, , , , A A B B , ,$ U Ur+   