
     	it                     *   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 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"        #                    d/g d0          d1             Z*e	j"        #                    d2d3d4g          d5             Z+d6 Z,d7 Z-d8 Z.d9 Z/d: Z0d; Z1d< Z2e	j"        #                    d=i d>e3d?d@g          dA             Z4dB Z5dC Z6dD Z7dE Z8dF Z9e	j"        #                    dGd3d4g          dH             Z:dI Z;e	j"        #                    dJd3d4g          dK             Z<e	j"        #                    dLg dM e=dN          ddfd e=dN          dOgdPz  dfg dM e=dN          dd3fd e=dN          dOgdPz  d4fd e=dN          dOgdPz  d3fg dM e=dN          dd4fg          dQ             Z>e	j"        #                    dRg dM e=dS          dd edTdUgg d@g dVdWdXej?        ggY          fg dM e=dZ          ddd"g edTdUgd[dWggd\d]gd^d_gdXej?        ggY          fg dM e=d\          dg d` edTdUgd[dWgd^dXggd\gd_gej?        ggY          fd e=dS          dOgdPz  d edTdUgg d@g dVdWdXej?        ggY          fd e=dZ          dOgdPz  dd"g edTdUgd[dWggd\d]gd^d_gdXej?        ggY          fd e=d\          dOgdPz  g d` edTdUgd[dWgd^dXggd\gd_gej?        ggY          fg          da             Z@db ZAdc ZBdd ZCde ZDdf ZEdg ZFdh ZGe	j"        jH        e	j"        jI        di                         ZJdS )jz
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)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      \/srv/django_bis/venv311/lib/python3.11/site-packages/pandas/tests/io/parser/test_read_fwf.py
test_basicr0   !   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      )r6      )r7      )   !   )"   +   colspecs  :   r   r   r   r@   ;   r   r   r   r@   <   r   r   r   r@   =   r   r   r   r@   >   r   r   r    r"   r#   r$   r%   Er&   r(   r,   r>   r-   r.   s       r/   test_colspecsrM   8   s    D =<<Hhtnnx888F777777777777777	
 *))	 	 	H &(+++++r1   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
)   rO      rP      )widthsr?   rB   rD   rF   rH   rJ   r&   r(   r+   s      r/   test_widthsrS   Q   s    D htnn->->->???F777777777777777	
 *))	 	 	H &(+++++r1   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
r4   ~r>   	delimiterr?   rB   rD   rF   rH   rJ   r&   r(   rL   s       r/   test_non_space_fillerrX   i   s    D =<<Hhtnnx3GGGF777777777777777	
 *))	 	 	H &(+++++r1   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 )Nr3   r4   zmust specify only one ofmatch)   
   r]   rQ   r>   rR   pytestraises
ValueErrorr   r   )r,   r>   s     r/   test_over_specifiedrc      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 )Nr3   zMust specify eitherrZ   r^   r_   )r,   s    r/   test_under_specifiedre      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)enginer3   r4   r=   )r   r   r   r)   r*   )csv_datar.   fwf_datar>   r-   s        r/   test_read_csv_compatrk      sl    H **8<<<HH =<<Hhx((8<<<F&(+++++r1   c                      t          d                                          } t          | ddgd          }t          ddggddg          }t	          j        ||           d S )Nu   שלום
שלום   utf8)rR   encodingu   שלu   וםr&   )r   encoder   r   r)   r*   r+   s      r/   test_bytes_io_inputrq      sl    '..0011DdAq6F;;;F66*+ff5EFFFH&(+++++r1   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.+rZ   a   ,rV   r`   ra   	TypeErrorr   r   r,   msgs     r/   "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 )Nrs   z#Each column specification must be.+rZ   )rt   ru   r=   rw   ry   s     r/   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,   r.   r-   s        r/   test_fwf_colspecs_noner      sK    D ""HhtnnxEEEF&(+++++r1   zinfer_nrows,exp_dataru   rm   r   r7   r]   b   c                     d}t          |          }t          t          |          | d           }t          j        ||           d S )Nz  1  2
123 98
)infer_nrowsr   r   )r   r   r,   r.   r-   s        r/   test_fwf_colspecs_infer_nrowsr      sK    D ""Hhtnn+dKKKF&(+++++r1   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)ru   r]   r8      rE   P   d      r7   SSTc                     g | ]}d |d	S )T03d ).0zs     r/   
<listcomp>z'test_fwf_regression.<locals>.<listcomp>  s     888q{1{{{888r1   ru   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' insteadrZ   r   Tc                 ,    t          j        | d          S )N
%Y%j%H%M%S)r   strptime)ss    r/   <lambda>z%test_fwf_regression.<locals>.<lambda>$  s    ("3A|"D"D r1   )	index_colr   namesrR   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   rR   r   date_format)	lenr)   assert_produces_warningFutureWarningr   r   r   r	   r*   )tz_listrR   r   r,   r-   r.   s         r/   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   )rA   rI   )?   i  )timepripgndstsrcr,   c                 "    t          | d          S Nr   intxs    r/   r   z$test_fwf_for_uint8.<locals>.<lambda>N      SBZZ r1   c                 "    t          | d          S r   r   r   s    r/   r   z$test_fwf_for_uint8.<locals>.<lambda>O  r   r1   c                 "    t          | d          S r   r   r   s    r/   r   z$test_fwf_for_uint8.<locals>.<lambda>P  r   r1   c                 F    t          |                     d                    S )N )r   splitr   s    r/   r   z$test_fwf_for_uint8.<locals>.<lambda>Q  s    c!''#,,// r1   )r   r   r   r,   )r>   r   
converters)gM--Ar   i      (   r7   )g--Ar\   i  NG   r7   r&   r   )r   r   r   astypeobjectr)   r*   )r,   dfr.   s      r/   test_fwf_for_uint8r   F  s    ^D	NNN:::''''''//	
 
	

 

 

B 444666	
 =<<  H uo,,V44HUO"h'''''r1   comment)#rU   !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   )r6   	   )r   r   )ru   g       @r6   rO         $@)r>   r   r   )replacer   npnanr   r   r)   assert_almost_equal)r   r,   r>   r.   r-   s        r/   test_fwf_commentr   `  s}    D <<W%%D(((H+++264'89::HhtnnxgVVVF68,,,,,r1   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      r/   test_fwf_skip_blank_linesr   o  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 &(+++++r1   	thousands)rv   r   rU   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.
rv   )r   )r      )   r   )ru   g     <@rO   )r]   rP   r   )r   r>   r   )r   r   r   r   r)   r   )r   r,   r>   r.   r-   s        r/   test_fwf_thousandsr     s    D <<Y''D***H......9::Hth)  F 68,,,,,r1   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 invalidrZ   r   rw   )r   r,   rz   s      r/   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      )r9   #   )&   r   )*   -   r=   r   r   r)   r*   testr>   r.   r-   s       r/   test_full_filer     sT    1D 7H:::Hhtnn%%F&(+++++r1   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       r/   test_full_file_with_missingr     sT    ,D 7H:::Hhtnn%%F&(+++++r1   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   rQ   )r7      )r   r   )r   5   )8   F   r=   stripr   r   r)   r*   r   s       r/   test_full_file_with_spacesr     k     
E  	 ?H:::Hhtnn%%F&(+++++r1   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       r/   &test_full_file_with_spaces_and_missingr     r   r1   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   ))rm   r]   )   r:   )r   r   )r   rG   )@   O   r=   r   r   s       r/   test_messed_up_datar    sl     
E  	 AH:::Hhtnn%%F&(+++++r1   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 +~.\)r5   )rQ   rP   )r   r   )r9   )   rV   )rW   r   )r   rW   r>   r.   r-   s        r/   test_multiple_delimitersr    sw     
E  	 I4HYOOOHhtnn	:::F&(+++++r1   c                  $   d                     d          } d}d |d}t          t          |                     |                    fdddgi|}t          t          |                     |                    fi |}t	          j        ||           d S )Nu-   
שלום שלום
ום   שלל
של   ום
r   rn   )r   ro   r>   r5   )rO   r   )r   r   r   rp   r)   r*   )r,   ro   kwargsr.   r-   s        r/   test_variable_width_unicoder	  *  s     
E 	 	 H(33FH%%&& 28&1AEK H gdkk(3344????F&(+++++r1   dtypefloat64int32rt   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   rO   )rO   r]   )r]   N)r>   r
  ru   r   rm   r6   g	@g@r  r&   )r   r   r   itemsr   r)   r*   )r
  r,   r>   r-   r.   coldts          r/   
test_dtyper  <  s    D -,,HhtnnxuEEEF!fAq6c
33___  H ;;== 1 1R ,,R00&(+++++r1   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
rm   ;The 'delim_whitespace' keyword in pd.read_csv is deprecatedrZ   Tskiprowsdelim_whitespacer  r   r)   r   r   r   r   r   r*   r,   r  depr_msgr.   r-   s        r/   test_skiprows_inferencer  O  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   rm   r  rZ   Tr  r  r  r  s        r/    test_skiprows_by_index_inferencer   b  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 widthrZ   r   r  )r   r`   ra   r   r   r   ry   s     r/   test_skiprows_inference_emptyr"  t  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
	)rR   r   r  rW   r   r   r   r   r)   r*   r   ri   rj   r-   r.   s        r/   test_whitespace_preservationr&    sz    FH
H Aq6&A3RX  F **6:::H&(+++++r1   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   )rR   r   r  r   r$  r%  s        r/   test_default_delimiterr(    sp    F	HH hx((!QRSQTUUUF**6:::H&(+++++r1   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
    3333333333rO   onetwo)rR   r   utf-8ro   ztmp.)filenamer)  compression)r   r   r   bytesr)   ensure_cleanwrite_to_compressedr*   )
compression_onlyr)  compression_to_extensionr,   r0  	extensionr  r.   pathr-   s
             r/   test_fwf_compressionr8    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-  r.  rbN)	r   r)   r2  r   
write_textopenr   seekr*   )r,   df_referencer7  filer   s        r/   test_binary_moderC    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)rm   rm   rm   rm   )r   rR   ro   rD  )ru   r"      Ärm   )r)   r2  r   write_bytesrp   r   r   r*   )rD  ro   r7  r   rA  s        r/   test_encoding_mmaprI    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      )rJ  Nabcder\   r6   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 namesrZ   r>   r   rR   r   r_   )r>   r   rR   r   r,   rz   s         r/   test_len_colspecs_len_namesrO    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,   abrS  rt   r  rT  rU  )r   ru   rm   c                 v    d}t          t          |          | |||          }t          j        ||           d S )NrM  rN  r   )r>   r   rR   r   r.   r,   r-   s          r/   *test_len_colspecs_len_names_with_index_colrY    sN    VD  F &(+++++r1   c                      t          t          d          ddgdd           } t          ddggddg	          }t          j        | |           d S )
Nz#
A1K
)ru   rm   )rm   r   r   )r>   r   r   ru   Kr   r&   r(   )r-   r.   s     r/   test_colspecs_with_commentr\  n  sc    '7T  F 1c(aV444H&(+++++r1   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
    r6   rm   )nrowsr  )ru   r   rO   r\   )rt   r  efrt   r  r(   r+   s      r/   test_skip_rows_and_n_rowsrb  w  sb    D htnnAA???F|||2F2F2FGGHHH&(+++++r1   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   rm   rt   Trm   )r   ru   rm   r\   r   )r>   r   iterator	chunksizer  r   r6   rO   rQ   )r   r7   )r   r   r   	enumerater)   r*   )r,   df_iterexpected_framesir-   s        r/   test_skiprows_with_iteratorrj    s    
D e   G 	3A-  3A-1v...3*QC(((O
 w'' : :	6
foa&89999: :r1   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
    ru   r   rm   rt   r  )r  usecolsr   g     @g3333336@ra  r(   r+   s      r/   test_names_and_infer_colspecsrm    s_    D htnnq1a&c
SSSFwT2233H&(+++++r1   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   ru   r   )r   rO   ru   rO   rO   F)c0c1c3)r   rl  rR   r   r   r   )ru   rm   r   )gٿg?g333333ӿr(   r+   s      r/   test_widths_and_usecolsrr    s    D    F ))###	
 	
 H &(+++++r1   c                 j   d}t          j        d|           5  t          t          |          |          }d d d            n# 1 swxY w Y   |dk    r;t	          j        d          t          j                                                  }nt          j        |           }t          t          j
        ddgd          t          j
        d	d
gd          t          j
        ddgd          t          j
        ddg|          t          j
        t           j        dgd          t          j
        t           j        dgd          t          j
        t           j        dgd          t          j
        d dg|          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           d S )NzUa  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_backendpyarrowru   r   Int64)r
  g      @g      @Float64TFbooleanrt   r  r\   g      @)	rt   r  r  dr_  r`  ghri  r   )ArrowExtensionArrayc           	      ^    i | ])}|                      |         d                     *S )T)from_pandas)array)r   r  r}  r.   pas     r/   
<dictcomp>z&test_dtype_backend.<locals>.<dictcomp>  sK        (((3-T)R)RSS  r1   ri  )check_column_type)pdoption_contextr   r   r`   importorskip
ArrowDtypestringStringDtyper   SeriesNApandas.arraysr}  r'   r  r)   r*   )string_storageru  r,   r-   string_dtyper}  r.   r  s        @@@r/   test_dtype_backendr    s   $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 	!! ++}RYY[[11~n55Aq6111C:Y777D%=	:::C:\:::BE4=	:::BE1:W555BE3<y999D#;l;;;BE25>999
	
 
	
 H 	!! ++555555     #+  
 
 ,+BHHdD\,B,BCC &(eDDDDDDs   AA
A
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.rZ   r   numpyrt  )r`   ra   rb   r   )rz   s    r/   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,   r.   r`  r-   s        r/   test_url_urlopenr    s    D T***xV%%H		 	  %A!$% % % % % % % % % % % % % % % &(+++++s   A//A36A3)K__doc__r   ior   r   pathlibr   r  r   r`   pandas.errorsr   pandasr  r   r	   pandas._testing_testingr)   pandas.io.commonr
   pandas.io.parsersr   r   r0   rM   rS   rX   rc   re   rk   rq   r{   r~   markparametrizer   r   r   r   r   r   r   r   r   r   r   r   r  r  r	  strr  r  r   r"  r&  r(  r8  rC  rI  r  rO  r   rY  r\  rb  rj  rm  rr  r  r  network
single_cpur  r   r1   r/   <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, , , ,, , ,: : :<, , ,, , ,.)E )E )EX0 0 0 , ,  , , ,r1   