
    Egu                     :   d Z ddlmZ ddlmZmZ ddlmZ ddlZddl	Z	ddl
mZ ddlZddlmZmZ ddlmZ ddlmZmZ dd	lmZ dd
lmZmZ d Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$e	j%        &                    dddgddgddggfddgddgddggfddgddgddggfd dgddgddggfg          d!             Z'e	j%        &                    d"d#d#d$gd%d&ggfd'd#d$gdd(ggfg          d)             Z(d* Z)d+ Z*e	j%        &                    d,g d-          d.             Z+d/ Z,e	j%        &                    d0g d1          d2             Z-e	j%        &                    d3d4d5g          d6             Z.d7 Z/d8 Z0d9 Z1d: Z2d; Z3d< Z4d= Z5e	j%        &                    d>i d?e6d@dAg          dB             Z7dC Z8dD Z9dE Z:dF Z;dG Z<e	j%        &                    dHd4d5g          dI             Z=dJ Z>e	j%        &                    dKd4d5g          dL             Z?e	j%        &                    dMg dN e@dO          ddfd e@dO          dPgdQz  dfg dN e@dO          dd4fd e@dO          dPgdQz  d5fd e@dO          dPgdQz  d4fg dN e@dO          dd5fg          dR             ZAe	j%        &                    dSg dN e@dT          dd edUdVgg dAg dWdXdYejB        ggZ          fg dN e@d[          ddd#g edUdVgd\dXggd]d^gd_d`gdYejB        ggZ          fg dN e@d]          dg da edUdVgd\dXgd_dYggd]gd`gejB        ggZ          fd e@dT          dPgdQz  d edUdVgg dAg dWdXdYejB        ggZ          fd e@d[          dPgdQz  dd#g edUdVgd\dXggd]d^gd_d`gdYejB        ggZ          fd e@d]          dPgdQz  g da edUdVgd\dXgd_dYggd]gd`gejB        ggZ          fg          db             ZCdc ZDdd ZEde ZFdf ZGdg ZHdh ZIdi ZJe	j%        jK        e	j%        jL        dj                         ZMdS )kz
Tests the 'read_fwf' function in parsers.py. This
test suite is independent of the others because the
engine is set to 'python-fwf' internally.
    )datetime)BytesIOStringIO)PathN)EmptyDataError)	DataFrameDatetimeIndex)ArrowStringArrayStringArray)urlopen)read_csvread_fwfc                      d} t          t          |                     }t          g dg dg dg dg dgg d          }t          j        ||           d S )	N  A         B            C            D
201158    360.242940   149.910199   11950.7
201159    444.953632   166.985655   11788.4
201160    364.136849   183.628767   11806.2
201161    413.836124   184.375703   11916.8
201162    502.953953   173.237159   12468.3
i >v@C;Y b@皙YW@i ƠB{@rZ|d@33333@)i ط0v@绹f@皙@)i i6`y@J@Lg@fffffF@i 罎8dCo@wxΖe@ffff&Z@ABCDcolumnsr   r   r   tmassert_frame_equaldataresultexpecteds      Y/var/www/sysmax/venv/lib/python3.11/site-packages/pandas/tests/io/parser/test_read_fwf.py
test_basicr2   %   s    D htnn%%F555555555555555	
 %$$	 	 	H &(+++++    c                      d} g d}t          t          |           |          }t          g dg dg dg dg dgg d	
          }t          j        ||           d S )N  A   B     C            D            E
201158    360.242940   149.910199   11950.7
201159    444.953632   166.985655   11788.4
201160    364.136849   183.628767   11806.2
201161    413.836124   184.375703   11916.8
201162    502.953953   173.237159   12468.3
r      )r8      )r9      )   !   )"   +   colspecs  :   r   r   r   rB   ;   r   r   r   rB   <   r   r   r   rB   =   r   r   r   rB   >   r    r!   r"   r$   r%   r&   r'   Er(   r*   r.   r@   r/   r0   s       r1   test_colspecsrO   <   s    D =<<Hhtnnx888F777777777777777	
 *))	 	 	H &(+++++r3   c                      d} t          t          |           g d          }t          g dg dg dg dg dgg d	
          }t          j        ||           d S )Na  A    B    C            D            E
2011 58   360.242940   149.910199   11950.7
2011 59   444.953632   166.985655   11788.4
2011 60   364.136849   183.628767   11806.2
2011 61   413.836124   184.375703   11916.8
2011 62   502.953953   173.237159   12468.3
)   rQ      rR      )widthsrA   rD   rF   rH   rJ   rL   r(   r*   r-   s      r1   test_widthsrU   U   s    D htnn->->->???F777777777777777	
 *))	 	 	H &(+++++r3   c                      d} g d}t          t          |           |d          }t          g dg dg dg dg d	gg d
          }t          j        ||           d S )Na  A~~~~B~~~~C~~~~~~~~~~~~D~~~~~~~~~~~~E
201158~~~~360.242940~~~149.910199~~~11950.7
201159~~~~444.953632~~~166.985655~~~11788.4
201160~~~~364.136849~~~183.628767~~~11806.2
201161~~~~413.836124~~~184.375703~~~11916.8
201162~~~~502.953953~~~173.237159~~~12468.3
r6   ~r@   	delimiterrA   rD   rF   rH   rJ   rL   r(   r*   rN   s       r1   test_non_space_fillerrZ   m   s    D =<<Hhtnnx3GGGF777777777777777	
 *))	 	 	H &(+++++r3   c                      d} g d}t          j        t          d          5  t          t	          |           |g d           d d d            d S # 1 swxY w Y   d S )Nr5   r6   zmust specify only one ofmatch)   
   r_   rS   r@   rT   pytestraises
ValueErrorr   r   )r.   r@   s     r1   test_over_specifiedre      s    D =<<H	z)C	D	D	D K K$(>>>JJJJK K K K K K K K K K K K K K K K K Ks   "AAAc                      d} t          j        t          d          5  t          t	          |           d d            d d d            d S # 1 swxY w Y   d S )Nr5   zMust specify eitherr\   r`   ra   )r.   s    r1   test_under_specifiedrg      s    D 
z)>	?	?	? = =$$t<<<<= = = = = = = = = = = = = = = = = =s    AAAc                      d} t          t          |           d          }d}g d}t          t          |          |          }t          j        ||           d S )NzA,B,C,D,E
2011,58,360.242940,149.910199,11950.7
2011,59,444.953632,166.985655,11788.4
2011,60,364.136849,183.628767,11806.2
2011,61,413.836124,184.375703,11916.8
2011,62,502.953953,173.237159,12468.3
python)enginer5   r6   r?   )r   r   r   r+   r,   )csv_datar0   fwf_datar@   r/   s        r1   test_read_csv_compatrm      sl    H **8<<<HH =<<Hhx((8<<<F&(+++++r3   c                      t          d                                          } t          | ddgd          }t          ddggddg          }t	          j        ||           d S )Nu   שלום
שלום   utf8)rT   encodingu   שלu   וםr(   )r   encoder   r   r+   r,   r-   s      r1   test_bytes_io_inputrs      sl    '..0011DdAq6F;;;F66*+ff5EFFFH&(+++++r3   c                      d} d}t          j        t          |          5  t          t	          |           ddid           d d d            d S # 1 swxY w Y   d S )Niindex,A,B,C,D
foo,2,3,4,5
bar,7,8,9,10
baz,12,13,14,15
qux,12,13,14,15
foo2,12,13,14,15
bar2,12,13,14,15
z/column specifications must be a list or tuple.+r\   a   ,rX   rb   rc   	TypeErrorr   r   r.   msgs     r1   "test_fwf_colspecs_is_list_or_tupler}      s    D <C	y	,	,	, C C$3(cBBBBC C C C C C C C C C C C C C C C C C   "AAAc                      d} d}t          j        t          |          5  t          t	          |           dg           d d d            d S # 1 swxY w Y   d S )Nru   z#Each column specification must be.+r\   )rv   rw   r?   ry   r{   s     r1   8test_fwf_colspecs_is_list_or_tuple_of_two_element_tuplesr      s    D 0C	y	,	,	, 6 6$8*55556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6s    AAAzcolspecs,exp_datar      )r   N{   i  i  )Nr   )r   r^   )r   Ni@ iU )NNc                     d}t          |          }t          t          |          | d           }t          j        ||           d S )Nz123456
456789
)r@   headerr   r   r   r+   r,   )r@   exp_datar.   r0   r/   s        r1   test_fwf_colspecs_noner      sK    D ""HhtnnxEEEF&(+++++r3   zinfer_nrows,exp_datarw   ro   r   r9   r_   b   c                     d}t          |          }t          t          |          | d           }t          j        ||           d S )Nz  1  2
123 98
)infer_nrowsr   r   )r   r   r.   r0   r/   s        r1   test_fwf_colspecs_infer_nrowsr      sK    D ""Hhtnn+dKKKF&(+++++r3   c            
         g d} dgdgt          |           z  z   }dgd | dd          D             z   }d}t          j        t          d	          5  t	          t          |          d
d ||dd           }d d d            n# 1 swxY w Y   t          g dg dg dg dg dgt          g d          g d          }t          j        ||           t	          t          |          d
d ||dd          }t          j        ||           d S )N)rw   r_   r:      rG   P   d      r9   SSTc                     g | ]}d |d	S )T03d ).0zs     r1   
<listcomp>z'test_fwf_regression.<locals>.<listcomp>  s     888q{1{{{888r3   rw   ae    2009164202000   9.5403  9.4105  8.6571  7.8372  6.0612  5.8843  5.5192
2009164203000   9.5435  9.2010  8.6167  7.8176  6.0804  5.8728  5.4869
2009164204000   9.5873  9.1326  8.4694  7.5889  6.0422  5.8526  5.4657
2009164205000   9.5810  9.0896  8.4009  7.4652  6.0322  5.8189  5.4379
2009164210000   9.6034  9.0897  8.3822  7.4905  6.0908  5.7904  5.4039
zuse 'date_format' insteadr\   r   Tc                 ,    t          j        | d          S )N
%Y%j%H%M%S)r   strptime)ss    r1   <lambda>z%test_fwf_regression.<locals>.<lambda>(  s    ("3A|"D"D r3   )	index_colr   namesrT   parse_datesdate_parser)g3#@gV-"@g8gDioP!@gEJY@gz6>@gDio@g2U0*@)gʡE#@gxf"@g6;!@g48E@gd`TR@gH}@g@)g镲,#@g2%C"@g|a2U @g%u[@gz6+@gEGri@g"u@)gx)#@gvq-"@gB @gec]@gk	 @gǺF@gqh@)gD4#@g(-"@g鷯 @gʡE@g>٬\@g^)@gj+@)z2009-06-13 20:20:00z2009-06-13 20:30:00z2009-06-13 20:40:00z2009-06-13 20:50:00z2009-06-13 21:00:00)r   T010T020T030T060T080T100)indexr)   r   )r   r   r   rT   r   date_format)	lenr+   assert_produces_warningFutureWarningr   r   r   r	   r,   )tz_listrT   r   r.   r/   r0   s         r1   test_fwf_regressionr     s    +**GTQC#g,,&&FG88GABBK8888ED 
	#M9T	U	U	U 	
 	
TNNDD
 
 
	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 DDDDDDDDDDDDDDD	
   
 
 HGG#  H& &(+++   F &(+++++s   %BB	Bc            
         d} t          t          |           g dg dd d d d d	          }t          g d
g dgg d          }|d                             t                    |d<   t          j        ||           d S )Nz1421302965.213420    PRI=3 PGN=0xef00      DST=0x17 SRC=0x28    04 154 00 00 00 00 00 127
1421302964.226776    PRI=6 PGN=0xf002               SRC=0x47    243 00 00 255 247 00 00 71))r      )      )r<   %   )1   3   )rC   rK   )?   i  )timepripgndstsrcr.   c                 "    t          | d          S Nr   intxs    r1   r   z$test_fwf_for_uint8.<locals>.<lambda>R      SBZZ r3   c                 "    t          | d          S r   r   r   s    r1   r   z$test_fwf_for_uint8.<locals>.<lambda>S  r   r3   c                 "    t          | d          S r   r   r   s    r1   r   z$test_fwf_for_uint8.<locals>.<lambda>T  r   r3   c                 F    t          |                     d                    S )N )r   splitr   s    r1   r   z$test_fwf_for_uint8.<locals>.<lambda>U  s    c!''#,,// r3   )r   r   r   r.   )r@   r   
converters)gM--Ar   i      (   r9   )g--Ar^   i  NG   r9   r(   r   )r   r   r   astypeobjectr+   r,   )r.   dfr0   s      r1   test_fwf_for_uint8r   J  s    ^D	NNN:::''''''//	
 
	

 

 

B 444666	
 =<<  H uo,,V44HUO"h'''''r3   comment)#rW   !c                     d}|                     d|           }g d}t          g ddt          j        dgg          }t	          t          |          |d |           }t          j        ||           d S )Nz*  1   2.   4  #hello world
  5  NaN  10.0
r   )r   )r8   	   )r   r   )rw   g       @r8   rQ         $@)r@   r   r   )replacer   npnanr   r   r+   assert_almost_equal)r   r.   r@   r0   r/   s        r1   test_fwf_commentr   d  s}    D <<W%%D(((H+++264'89::HhtnnxgVVVF68,,,,,r3   c            	         d} t          t          |           d          }t          g dg dg dgg d          }t          j        ||           d	} t          t          |           d
          }t          g dg dt
          j        t
          j        t
          j        t
          j        gt
          j        t
          j        t
          j        t
          j        gg dgg d          }t          j        ||           d S )Nz

A         B            C            D

201158    360.242940   149.910199   11950.7
201159    444.953632   166.985655   11788.4


201162    502.953953   173.237159   12468.3

T)skip_blank_linesr   r   r   r#   r(   zA         B            C            D
201158    360.242940   149.910199   11950.7
201159    444.953632   166.985655   11788.4


201162    502.953953   173.237159   12468.3
F)r   r   r   r+   r,   r   r   r-   s      r1   test_fwf_skip_blank_linesr   s  s   
D htnnt<<<F555555555	

 %$$  H &(+++D htnnu===F555555VRVRVRV,VRVRVRV,555	
 %$$	 	 	H &(+++++r3   	thousands)rx   r   rW   c                     d}|                     d|           }g d}t          g dg dg          }t          t          |          d ||           }t	          j        ||           d S )Nz  1 2,334.0    5
10   13     10.
rx   )r   )r      )   r   )rw   g     <@rQ   )r_   rR   r   )r   r@   r   )r   r   r   r   r+   r   )r   r.   r@   r0   r/   s        r1   test_fwf_thousandsr     s    D <<Y''D***H......9::Hth)  F 68,,,,,r3   r   TFc                     d}d}t          j        t          |          5  t          t	          |          |            d d d            d S # 1 swxY w Y   d S )NzMyColumn
   a
   b
   a
   bz#Passing a bool to header is invalidr\   r   ry   )r   r.   r|   s      r1   test_bool_header_argr     s    D 0C	y	,	,	, 0 0$////0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s   AAAc                      d} d}t          t          |           |          }t          t          |                     }t          j        ||           d S )Nao  index                             A    B    C
2000-01-03T00:00:00  0.980268513777    3  foo
2000-01-04T00:00:00  1.04791624281    -4  bar
2000-01-05T00:00:00  0.498580885705   73  baz
2000-01-06T00:00:00  1.12020151869     1  foo
2000-01-07T00:00:00  0.487094399463    0  bar
2000-01-10T00:00:00  0.836648671666    2  baz
2000-01-11T00:00:00  0.157160753327   34  foo)r      )r;   #   )&   r   )*   -   r?   r   r   r+   r,   testr@   r0   r/   s       r1   test_full_filer     sT    1D 7H:::Hhtnn%%F&(+++++r3   c                      d} d}t          t          |           |          }t          t          |                     }t          j        ||           d S )Naj  index                             A    B    C
2000-01-03T00:00:00  0.980268513777    3  foo
2000-01-04T00:00:00  1.04791624281    -4  bar
                     0.498580885705   73  baz
2000-01-06T00:00:00  1.12020151869     1  foo
2000-01-07T00:00:00                    0  bar
2000-01-10T00:00:00  0.836648671666    2  baz
                                      34r   r?   r   r   s       r1   test_full_file_with_missingr     sT    ,D 7H:::Hhtnn%%F&(+++++r3   c                      d                     d          } d}t          t          |           |          }t          t          |                     }t          j        ||           d S )Na  
Account                 Name  Balance     CreditLimit   AccountCreated
101     Keanu Reeves          9315.45     10000.00           1/17/1998
312     Gerard Butler         90.00       1000.00             8/6/2003
868     Jennifer Love Hewitt  0           17000.00           5/25/1985
761     Jada Pinkett-Smith    49654.87    100000.00          12/5/2006
317     Bill Murray           789.65      5000.00             2/5/2007

)r   rS   )r9      )r   r   )r   5   )8   F   r?   stripr   r   r+   r,   r   s       r1   test_full_file_with_spacesr     k     
E  	 ?H:::Hhtnn%%F&(+++++r3   c                      d                     d          } d}t          t          |           |          }t          t          |                     }t          j        ||           d S )Na  
Account               Name    Balance     CreditLimit   AccountCreated
101                           10000.00                       1/17/1998
312     Gerard Butler         90.00       1000.00             8/6/2003
868                                                          5/25/1985
761     Jada Pinkett-Smith    49654.87    100000.00          12/5/2006
317     Bill Murray           789.65
r   r   r?   r   r   s       r1   &test_full_file_with_spaces_and_missingr     r   r3   c                      d                     d          } d}t          t          |           |          }t          t          |                     }t          j        ||           d S )NaS  
   Account          Name             Balance     Credit Limit   Account Created
       101                           10000.00                       1/17/1998
       312     Gerard Butler         90.00       1000.00

       761     Jada Pinkett-Smith    49654.87    100000.00          12/5/2006
  317          Bill Murray           789.65
r   ))ro   r_   )   r<   )r   r   )r   rI   )@   O   r?   r   r   s       r1   test_messed_up_datar    sl     
E  	 AH:::Hhtnn%%F&(+++++r3   c                      d                     d          } d}d}t          t          |           ||          }t          t          |           |          }t          j        ||           d S )Nz
col1~~~~~col2  col3++++++++++++++++++col4
~~22.....11.0+++foo~~~~~~~~~~Keanu Reeves
  33+++122.33\\\bar.........Gerard Butler
++44~~~~12.01   baz~~Jennifer Love Hewitt
~~55       11+++foo++++Jada Pinkett-Smith
..66++++++.03~~~bar           Bill Murray
r   z +~.\)r7   )rS   rR   )r  r   )r;   )   rX   )rY   r   )r   rY   r@   r0   r/   s        r1   test_multiple_delimitersr    sw     
E  	 I4HYOOOHhtnn	:::F&(+++++r3   c                  $   d                     d          } d}d |d}t          t          |                     |                    fdddgi|}t          t          |                     |                    fi |}t	          j        ||           d S )Nu-   
שלום שלום
ום   שלל
של   ום
r   rp   )r   rq   r@   r7   )rQ   r   )r   r   r   rr   r+   r,   )r.   rq   kwargsr0   r/   s        r1   test_variable_width_unicoder  .  s     
E 	 	 H(33FH%%&& 28&1AEK H gdkk(3344????F&(+++++r3   dtypefloat64int32rv   bcc                 $   d}g d}t          t          |          ||           }t          ddgddgdd	gd
g d
          }|                                 D ]#\  }}||                             |          ||<   $t          j        ||           d S )Nz) a    b    c
1    2    3.2
3    4    5.2
))r   rQ   )rQ   r_   )r_   N)r@   r  rw   r   ro   r8   g	@g@r  r(   )r   r   r   itemsr   r+   r,   )r  r.   r@   r/   r0   coldts          r1   
test_dtyper  @  s    D -,,HhtnnxuEEEF!fAq6c
33___  H ;;== 1 1R ,,R00&(+++++r3   c                  @   d                                 } d}d}t          j        t          |          5  t	          t          |           |d          }d d d            n# 1 swxY w Y   t          t          |           |          }t          j        ||           d S )Nz`
Text contained in the file header

DataCol1   DataCol2
     0.0        1.0
   101.6      956.1
ro   ;The 'delim_whitespace' keyword in pd.read_csv is deprecatedr\   Tskiprowsdelim_whitespacer  r   r+   r   r   r   r   r   r,   r.   r  depr_msgr0   r/   s        r1   test_skiprows_inferencer   S  s     
EGG 	 HLH		#M	B	B	B V VHTNNXPTUUUV V V V V V V V V V V V V V V htnnx888F&(+++++s    A  A$'A$c                  D   d                                 } ddg}d}t          j        t          |          5  t	          t          |           |d          }d d d            n# 1 swxY w Y   t          t          |           |          }t          j        ||           d S )	Nzf
To be skipped
Not  To  Be  Skipped
Once more to be skipped
123  34   8      123
456  78   9      456
r   ro   r  r\   Tr  r  r  r  s        r1    test_skiprows_by_index_inferencer"  f  s     
EGG 	 1vHLH		#M	B	B	B V VHTNNXPTUUUV V V V V V V V V V V V V V V htnnx888F&(+++++s    A""A&)A&c                      d                                 } d}t          j        t          |          5  t	          t          |           d           d d d            d S # 1 swxY w Y   d S )Nz%
AA   BBB  C
12   345  6
78   901  2
z(No rows from which to infer column widthr\   r   r  )r   rb   rc   r   r   r   r{   s     r1   test_skiprows_inference_emptyr$  x  s     
EGG	 	 5C	~S	1	1	1 - -$!,,,,- - - - - - - - - - - - - - - - - -s   AA"%A"c                      d } d}d}t          t          |          ddg| dgd          }t          t          |          |           }t          j        ||           d S )Nz
 a ,bbb
 cc,dd z
 a bbb
 ccdd r   r   z
	)rT   r   r  rY   r   r   r   r   r+   r,   r   rk   rl   r/   r0   s        r1   test_whitespace_preservationr(    sz    FH
H Aq6&A3RX  F **6:::H&(+++++r3   c                      d } d}d}t          t          |          ddg| dg          }t          t          |          |           }t          j        ||           d S )Nz
a,bbb
cc,ddz
a 	bbb
cc	dd r   r   )rT   r   r  r   r&  r'  s        r1   test_default_delimiterr*    sp    F	HH hx((!QRSQTUUUF**6:::H&(+++++r3   inferc                    d                                 }| }||         }ddgddgd}t          t          |          fi |}t          |d          }t	          j        d|z   	          5 }t	          j        |||           |	|rd
n||d<   t          |fi |}	t	          j        |	|           d d d            d S # 1 swxY w Y   d S )Nz(1111111111
    2222222222
    3333333333rQ   onetwo)rT   r   utf-8rq   ztmp.)filenamer+  compression)r   r   r   bytesr+   ensure_cleanwrite_to_compressedr,   )
compression_onlyr+  compression_to_extensionr.   r2  	extensionr
  r0   pathr/   s
             r1   test_fwf_compressionr:    s7   %'' 	 #K(5IA%88F11&11H(((D	&9"4	5	5	5 0
{D$777/4$EGG+F=!$))&))
fh///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s   +AB<<C C c                     d} t          g dgg ddg          }t          j                    5 }t          |                              | d           t          |d          5 }t          |          }|                    d           t          j        ||           d	d	d	           n# 1 swxY w Y   d	d	d	           d	S # 1 swxY w Y   d	S )
zH
    read_fwf supports opening files in binary mode.

    GH 18035.
    zaaa aaa aaa
bba bab b a)bbababzb a)aaazaaa.1zaaa.2r   )r)   r   r/  r0  rbN)	r   r+   r4  r   
write_textopenr   seekr,   )r.   df_referencer9  filer   s        r1   test_binary_moderE    sU   D			)B)B)B1#  L 
		 4dT

dW555$ 	4$BIIaLLL!"l333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	44 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4s5   5C#:B)C)B-	-C0B-	1CCC
memory_mapc                 D   d}t          j                    5 }t          |                              d                    |                     t          |dg d||           }ddd           n# 1 swxY w Y   t          g dg          }t          j        ||           dS )zZ
    encoding should be working, even when using a memory-mapped file.

    GH 23254.
    	iso8859_1u
    1 A Ä 2
N)ro   ro   ro   ro   )r   rT   rq   rF  )rw   r$      Äro   )r+   r4  r   write_bytesrr   r   r   r,   )rF  rq   r9  r   rC  s        r1   test_encoding_mmaprK    s     H			 
dT

}33H==>>><<!
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 ///011L"l+++++s   AA..A25A2z"colspecs, names, widths, index_col))r   r^   )r^   r   )r      )rL  Nabcder^   r8   c                     d}d}t          j        t          |          5  t          t	          |          | |||           d d d            d S # 1 swxY w Y   d S )N(col1  col2  col3  col4
    bab   ba    2z-Length of colspecs must match length of namesr\   r@   r   rT   r   ra   )r@   r   rT   r   r.   r|   s         r1   test_len_colspecs_len_namesrQ    s    VD
9C	z	-	-	- 
 
TNN	
 	
 	
 	

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
r~   z,colspecs, names, widths, index_col, expectedabccol1ba)col2col3col4zb   ba2)r   r)   r.   abrU  rv   r  rV  rW  )r   rw   ro   c                 v    d}t          t          |          | |||          }t          j        ||           d S )NrO  rP  r   )r@   r   rT   r   r0   r.   r/   s          r1   *test_len_colspecs_len_names_with_index_colr[    sN    VD  F &(+++++r3   c                      t          t          d          ddgdd           } t          ddggddg	          }t          j        | |           d S )
Nz#
A1K
)rw   ro   )ro   r   r   )r@   r   r   rw   Kr   r(   r*   )r/   r0   s     r1   test_colspecs_with_commentr^  r  sc    '7T  F 1c(aV444H&(+++++r3   c                      d} t          t          |           dddg          }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
    r8   ro   )nrowsr  )rw   r   rQ   r^   )rv   r  efrv   r  r*   r-   s      r1   test_skip_rows_and_n_rowsrd  {  sb    D htnnAA???F|||2F2F2FGGHHH&(+++++r3   c            	      2   d} t          t          |           dgdgddg d          }t          ddd	gi          t          dd
dgiddg          t          ddgid	g          g}t          |          D ] \  }}t	          j        |||                    !d S )Nz0
1
2
3
4
5
6
7
8
9
    )r   ro   rv   Tro   )r   rw   ro   r^   r   )r@   r   iterator	chunksizer  r   r8   rQ   rS   )r   r9   )r   r   r   	enumerater+   r,   )r.   df_iterexpected_framesir/   s        r1   test_skiprows_with_iteratorrl    s    
D e   G 	3A-  3A-1v...3*QC(((O
 w'' : :	6
foa&89999: :r3   c                      d} t          t          |           dddgddg          }t          dgd	d
          }t          j        ||           d S )Nz(X   Y   Z
      959.0    345   22.2
    rw   r   ro   rv   r  )r  usecolsr   g     @g3333336@rc  r*   r-   s      r1   test_names_and_infer_colspecsro    s_    D htnnq1a&c
SSSFwT2233H&(+++++r3   c                      d} t          t          |           d dddd          }t          dg dg d	d          }t          j        ||           d S )
Nz;0  1    n -0.4100.1
0  2    p  0.2 90.1
0  3    n -0.3140.4)r   rw   r   )r   rQ   rw   rQ   rQ   F)c0c1c3)r   rn  rT   r   r   r   )rw   ro   r   )gٿg?g333333ӿr*   r-   s      r1   test_widths_and_usecolsrt    s    D    F ))###	
 	
 H &(+++++r3   c                    | dk    rit          t          j        ddgt          j                            }t          t          j        t          j        dgt          j                            }n|dk    r[t          j        d          ddlm	                      ddg                    }                     d dg                    }n\t          j        d          t                              ddg                    }t                              d dg                    }d}t	          j        d	|           5  t          t          |          |
          }d d d            n# 1 swxY w Y   t          t	          j        ddgd          t	          j        ddgd          t	          j        ddgd          |t	          j        t          j        dgd          t	          j        t          j        dgd          t	          j        t          j        dgd          |t	          j        t          j        t          j        gd          d	          |dk    r_t          j        d          ddlm	 t          fdj        D                                            d d g                    d<   t#          j        |           d S )Nri   rv   r  )r  pyarrowr   )ArrowExtensionArrayzUa  b    c      d  e     f  g    h  i
1  2.5  True  a
3  4.5  False b  True  6  7.5  azmode.string_storagedtype_backendrw   r   Int64g      @g      @Float64TFbooleanr^   g      @)	rv   r  r  dra  rb  ghrk  c           	      ^    i | ])}|                      |         d                     *S )T)from_pandas)array)r   r  rw  r0   pas     r1   
<dictcomp>z&test_dtype_backend.<locals>.<dictcomp>  sK        (((3-T)R)RSS  r3   rk  )r   r   r  object_pdNArb   importorskippandas.arraysrw  r
   option_contextr   r   r   Seriesr)   r+   r,   )	string_storagery  arrarr_nar.   r/   rw  r0   r  s	         @@@r1   test_dtype_backendr    s!   !!"(C:RZ@@@AARXrucl"*EEEFF	)	#	# ++555555!!"((C:"6"677$$RXXtSk%:%:;; ++rxxc
3344!"((D#;"7"788$D 
	0.	A	A G G(4..FFFG G G G G G G G G G G G G G G Aq6111C:Y777D%=	:::BE4=	:::BE1:W555BE3<y999BE25>999
	
 
	
 H 	!! ++555555     #+  
 
 ,+BHHdD\,B,BCC&(+++++s   E22E69E6c                      d} t          j        t          |           5  t          dd           d d d            d S # 1 swxY w Y   d S )NzPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.r\   r   numpyrx  )rb   rc   rd   r   )r|   s    r1   test_invalid_dtype_backendr    s    	!  
z	-	-	- 0 0w////0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s   =AAc                 "   d}|                      |           t          j        t          d                    }t	          | j                  5 }t          |          j        }d d d            n# 1 swxY w Y   t          j	        ||           d S )Nr   )contentABCD)
serve_contentr  Indexlistr   urlr   r)   r+   assert_index_equal)
httpserverr.   r0   rb  r/   s        r1   test_url_urlopenr    s    D T***xV%%H		 	  %A!$% % % % % % % % % % % % % % % &(+++++s   A//A36A3)N__doc__r   ior   r   pathlibr   r  r   rb   pandas.errorsr   pandasr  r   r	   pandas._testing_testingr+   pandas.core.arraysr
   r   pandas.io.commonr   pandas.io.parsersr   r   r2   rO   rU   rZ   re   rg   rm   rs   r}   r   markparametrizer   r   r   r   r   r   r   r   r   r   r   r   r  r  r  strr  r   r"  r$  r(  r*  r:  rE  rK  r  rQ  r   r[  r^  rd  rl  ro  rt  r  r  network
single_cpur  r   r3   r1   <module>r     s%	                            ( ( ( ( ( (                        
 % $ $ $ $ $       , , ,., , ,2, , ,0, , ,>K K K
= 
= 
=, , ,0, , ,C C C 6 6 6  
)	SzC:67
V	SzC:67
Y	63-&#!?@
	63-&#!?@	 	, 	, 	,  
aVaV	q!fsBi !	 	, 	, 	,6, 6, 6,r( ( (4 OOO44- - 54-*, *, *,Z ooo66- - 76-  D%=110 0 210, , ,", , ,", , ,&, , ,&, , ,&, , ,&, , ,$ 2YSw'O'O"PQQ, , RQ,$, , ,&, , ,$	- 	- 	-, , ,", , , 4-000 0 100.4 4 4& e}55, , 65,( ( 433DMM		
 DMMC!G		
 433DMM		
 DMMC!G		
 DMMC!G		
 433DMM		
?%( (R
 
S( (R
 2 433DKKItn'...30GH  
	
 433DJJFI~'9:c
v&bf6  
	
 433DIIIII~'9FC=Ih)  
	
 DKKC!GItn'...30GH  
	
 DJJC!GFI~'9:c
v&bf6  
	
 DIIC!GIII~'9FC=Ih)  
	
qCF FN, ,OF FN, , , ,, , ,: : :<, , ,, , ,./, /, /,d0 0 0 , ,  , , ,r3   