
     jx                     R	   d Z ddlmZ ddlmZ ddlmZ ddlZddlmZ ddl	Z	ddl
ZddlZddlmZmZmZ ddlmZmZmZmZ ddlmZ dd	lmZ dd
lmZ ej                            d          Zej                             d          Z!ej                             d          Z"d Z#d Z$d Z%e!d             Z&d Z'd Z(d Z)ej        *                    dddg          d             Z+ej        *                    dg d          d             Z,d Z-e"d             Z.d Z/e"d             Z0d Z1d  Z2e"ej        *                    d!ddd"gd#d$gg          d%                         Z3e"ej        *                    d&d'i dfd'd!d(gidfd)g d*d(gd+ ed(gdgej4        ,          fd'g d*d(gd+ ed(g-          fg          d.                         Z5ej        *                    d/dd0g d1d0d2 eg d3d4ej6        d5gg          fd0g d6d0d7 ed8d4gd9ej6        gd:d;gd<          fg          d=             Z7d> Z8d? Z9ej        *                    d@d0dAg          dB             Z:ej        *                    dCdDd0g d3dEej6        d5gg dFgfdGd0g d3dEej6        d5gg dFgfdDdAg d3ej6        ej6        ej6        gej6        ej6        ej6        gdEej6        d5gej6        ej6        ej6        gg dFgfg          dH             Z;e"dI             Z<ej        *                    dJdK eg dLg dLg dLgg dMg dNO          fdP eg dQg dRg dSgg dN-          fg          dT             Z=dU Z>ej        *                    dVg dW          dX             Z?dY Z@dZ ZAej        *                    d[d\d]g          d^             ZBe"d_             ZCe"d`             ZDej        *                    d eEd"da                    db             ZFe"dc             ZGdd ZHde ZIej        *                    dfdDdgg          dh             ZJdi ZKej        *                    djdfdkidldkig          dm             ZLej        *                    dfdDdgg          dn             ZMe"do             ZNe!dp             ZOdq ZPe"dr             ZQe!ds             ZRdt ZSdS )uzy
Tests that work on both the Python and C engines but do not have a
specific classification into the other test modules.
    )datetime)	signature)StringION)Path)EmptyDataErrorParserErrorParserWarning)	DataFrameIndex	Timestampcompat)TextFileReader)CParserWrapperz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningpyarrow_xfailpyarrow_skipc                      G d dt                     }  G d dt                    }d}ddgg}ddgt          d	          t          d
          gd}t          |ddg          } |             }g d|dd|_        d|_         |t          |          fi |j        |_        |                                }t          j
        ||           d S )Nc                       e Zd ZddZdS )=test_override_set_noconvert_columns.<locals>.MyTextFileReaderreturnNc                 "    d| _         d| _        d S )Nr   F)_currowsqueezeselfs    C:\Users\Terasoftware\OneDrive\Desktop\faahhh\fyndo\fyndo\venv\Lib\site-packages\pandas/tests/io/parser/common/test_common_basic.py__init__zFtest_override_set_noconvert_columns.<locals>.MyTextFileReader.__init__.   s    DL DLLL    )r   N)__name__
__module____qualname__r    r   r   MyTextFileReaderr   -   s(        	! 	! 	! 	! 	! 	!r   r"   c                       e Zd Zd ZdS )=test_override_set_noconvert_columns.<locals>.MyCParserWrapperc                     | j         dk    r2t          | j                  | _        | j                                         t	          j        |           S )Ninteger)usecols_dtypelistusecolsreverser   _set_noconvert_columnsr   s    r   r+   zTtest_override_set_noconvert_columns.<locals>.MyCParserWrapper._set_noconvert_columns3   sJ    !Y. '  $DL11$$&&&!8>>>r   N)r   r   r    r+   r!   r   r   MyCParserWrapperr$   2   s#        
	? 
	? 
	? 
	? 
	?r   r,   z7a,b,c,d,e
0,1,2014-01-01,09:00,4
0,1,2014-01-02,10:00,4      r   z2014-01-01 09:00:00z2014-01-02 10:00:00)ac_dr0   r/   columns)r   r.      ,)r)   parse_dates	delimiterc)r   r   r   r
   optionsenginer   _enginereadtmassert_frame_equal)r"   r,   datar5   colsexpectedparserresults           r   #test_override_set_noconvert_columnsrC   (   s)   
! ! ! ! !> ! ! !
? ? ? ? ?> ? ? ?D q6(KV/00)<Q2R2RS D s|444HF99" FN
 FM%%htnnGGGGFN[[]]F&(+++++r   c                    t          j                    rdnd}| }|t          t          j                            |                    z   }|                    |dd          }|j        dk    r|j        	                    d          |_        t          g dg d	g d
g dg dg dg dgg dt          t          ddd          t          ddd          t          ddd          t          ddd          t          ddd          t          ddd          t          ddd          gd                    }t          j        ||           d S )Nzfile:///zfile://r   T	index_colr5   pyarrownsgA	]^?gֈ`|@g% TO׿gnIg=HOC?gW\g~q"BĿg=4?gZH?g7ne?g>ݦ4g_YiR?g䞮X?gt]?gnk3Am?g-?gP,߿g~W[I?gN6gFgZ&|?g4e?gv?gg]W?gp̲'?gsĿgq?g!?gG6WABCD  r-   r3               
      indexnamer2   r\   )r   is_platform_windowsstrospathabspathread_csvr9   r\   as_unitr
   r   r   r<   r=   )all_parserscsv1prefixrA   fnamerB   r@   s          r   test_read_csv_localrk   W   s~   !577FZZYFFS..///E__UaT_BBF}	! 2|++D11<<<;;;;;;<<<:::::::::	
 %$$q!$$q!$$q!$$q!$$q!$$q"%%q"%% 
 
 
  H0 &(+++++r   c                    | }d}t          ddgddgddgd          }|j        d	k    r\d
}t          j        t          |          5  |                    t          |          dd           d d d            n# 1 swxY w Y   d S |                    t          |          dd          }t          j        ||           d S )NzA|B|C
1|2,334|5
10|13|10.
r-   rZ   i	     rW         $@rQ   rR   rS   rG   zAThe 'thousands' option is not supported with the 'pyarrow' enginematch|r4   )sep	thousands	r
   r9   pytestraises
ValueErrorre   r   r<   r=   )rg   rA   r>   r@   msgrB   s         r   test_1000_seprz   {   s   FD 2wdBZq$iHHIIH}	! Q]:S111 	D 	DOOHTNNsOCCC	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D__Xd^^_DDF&(+++++s   &A88A<?A<c                     d}| }t          g dg dg dgt          j        g d          }|                    t	          |                    }t          j        ||           d S )Nz,A,B,C,,
1,2,3,4,5
6,7,8,9,10
11,12,13,14,15
)r-   r.   r3   rV   rW   )rX   rY      	   rZ   )r[      rm         )rQ   rR   rS   z
Unnamed: 3z
Unnamed: 4)dtyper2   )r
   npint64re   r   r<   r=   rg   r>   rA   r@   rB   s        r   test_unnamed_columnsr      s    D
 F	***,@,@,@Ah;;;  H
 __Xd^^,,F&(+++++r   c                     d}| }t          g dg dg dd          }|                    t          |                    }t          j        ||           d S )NzA,B,C
a,1,2
b,3,4
c,4,5
r/   br7   )r-   r3   rV   )r.   rV   rW   ro   )r
   re   r   r<   r=   r   s        r   test_csv_mixed_typer      sc    D
 FYYYYYYOOPPH__Xd^^,,F&(+++++r   c                    | }|j         st          j        d           d}|j        dk    r]d}t          j        t
          |          5  |                    t          |          ddd           d d d            n# 1 swxY w Y   d S |                    t          |          ddd          }t          g d	
          }t          j
        ||           d S )Nz"This is a low-memory specific testzA,B,C
1,1,1,2
2,2,3,4
3,3,4,5
rG   =The 'nrows' option is not supported with the 'pyarrow' enginerp   Tr   )
low_memoryrF   nrowsro   r1   )r   rv   skipr9   rw   rx   re   r   r
   r<   r=   rg   rA   r>   ry   rB   r@   s         r   +test_read_csv_low_memory_no_rows_with_indexr      s.   F :8999D }	! M]:S111 	S 	SOOHTNNtqPQORRR	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S__Xd^^QR_SSF111H&(+++++s   'A;;A?A?c                    | }|                     |dd          }|j        dk    r|j                            d          |_        t	          g dg dg dg d	g d
g dg dgg dt          t          ddd          t          ddd          t          ddd          t          ddd          t          ddd          t          ddd          t          ddd          gd                    }t          j        ||           d S )Nr   TrE   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rU   r-   r3   rV   rW   rX   rY   rZ   r[   r\   r]   r_   )	re   r9   r\   rf   r
   r   r   r<   r=   )rg   rh   rA   rB   r@   s        r   test_read_csv_dataframer      sG   F__TQD_AAF}	! 2|++D11<<<;;;;;;<<<:::::::::	
 %$$q!$$q!$$q!$$q!$$q!$$q"%%q"%% 
 
 
  H0 &(+++++r   r   r3   g      @c                    d}t          g dg dg dgg d          }| }|j        dk    r[d}t          j        t          |	          5  |                    t          |          |
           d d d            n# 1 swxY w Y   d S |                    t          |          |
          }t          j        ||           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
)foor.   r3   rV   rW   )barrY   r|   r}   rZ   )bazr~   rm   r   r   )r\   rQ   rR   rS   rT   r1   rG   r   rp   r   ru   )rg   r   r>   r@   rA   ry   rB   s          r   test_read_nrowsr      s    D 			2224K4K4KL---  H F}	! M]:S111 	9 	9OOHTNN%O888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9__Xd^^5_99F&(+++++s   	%A::A>A>)g333333?r   c                     d}d}| }|j         dk    rd}t          j        t          |          5  |                    t          |          |           d d d            d S # 1 swxY w Y   d S )Nr   z'nrows' must be an integer >=0rG   r   rp   r   )r9   rv   rw   rx   re   r   )rg   r   r>   ry   rA   s        r   test_read_nrows_badr      s    D ,CF}	! NM	z	-	-	- 5 5e4445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5s   %A!!A%(A%c                     d}d}| }t          j        t          |          5  |                    t	          |          dd           d d d            d S # 1 swxY w Y   d S )Nz''skipfooter' not supported with 'nrows'za
1
2
3
4
5
6rp   r-   rW   )
skipfooterr   rv   rw   rx   re   r   )rg   ry   r>   rA   s       r   test_nrows_skipfooter_errorsr     s    
3C DF	z	-	-	- ? ?1A>>>? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?s   &AAAc                     | }d}|                     t          |                    }t          g ddddt          j        gdddt          j        ggg d          }t          j        ||           d S )	NzA,B,C,D
1,2,3,4
1,3,3,
1,4,5r-   r.   r3   rV   r-   r3   rV   rW   rP   r1   re   r   r
   r   nanr<   r=   rg   rA   r>   rB   r@   s        r    test_missing_trailing_delimitersr     s    F	D
 __Xd^^,,F	1a(1aBF*;<$$$  H &(+++++r   c           	         d}| }|j         dk    ryd}t          j        t          |          5  |                    t          |          t          t          d                    d dgd           d d d            n# 1 swxY w Y   d S |                    t          |          t          t          d                    d dgd          }t          g d	d
ddddddddddddddddddddddt          j
        t          j
        t          j
        t          j
        t          j
        t          j
        d d!d"g          }t          j        ||           d S )#NaT  "09-Apr-2012", "01:10:18.300", 2456026.548822908, 12849, 1.00361,  1.12551, 330.65659, 0355626618.16711,  73.48821, 314.11625,  1917.09447,   179.71425,  80.000, 240.000, -350,  70.06056, 344.98370, 1,   1, -0.689265, -0.692787,  0.212036,    14.7674,   41.605,   -9999.0,   -9999.0,   -9999.0,   -9999.0,   -9999.0,  -9999.0, 000, 012, 128rG   HThe 'skipinitialspace' option is not supported with the 'pyarrow' enginerp   !   z-9999.0T)namesheader	na_valuesskipinitialspacez09-Apr-2012z01:10:18.300g=?FBAi12  gW[?g"?gdt@g*zn2Ag!'>_R@g(ܡs@ga`@g`"vf@g      T@g      n@ig7Q@g46<u@r-   g(yugO+gT#?g-@g=
ףpD@r   r~      )r9   rv   rw   rx   re   r   r(   ranger
   r   r   r<   r=   )rg   r>   rA   ry   rB   r@   s         r   test_skip_initial_spacer   *  s   	A 	 F}	! 
X]:S111 	 	OO599oo$+!%    	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	__599oo+   F """ "" 	"
 " " "  " " " " " " " "  !"" #"$ %"& '"( )"* +", -". /"0 1"2 3"4 5"6 7"8 9": ;"< ="> ?"@ A"B C"$	
& &HN &(+++++s   AA<<B B c                     d}| }|                     t          |          d          }t          g dg dg dd          }t          j        ||           d S )NzA,B,C
1,2,3,
4,5,6,
7,8,9,F)rF   r-   rV   rY   r.   rW   r|   r3   rX   r}   ro   re   r   r
   r<   r=   )rg   r>   rA   rB   r@   s        r   test_trailing_delimitersr   r  sg    
D F__Xd^^u_==FyyyyyyyyyIIJJH&(+++++r   c                     d}| }|                     t          |          ddd          }|d         d         dk    sJ t          j        |j        t          dd	g                     d S )
Nu  SEARCH_TERM,ACTUAL_URL
"bra tv board","http://www.ikea.com/se/sv/catalog/categories/departments/living_room/10475/?se%7cps%7cnonbranded%7cvardagsrum%7cgoogle%7ctv_bord"
"tv pÃ¥ hjul","http://www.ikea.com/se/sv/catalog/categories/departments/living_room/10475/?se%7cps%7cnonbranded%7cvardagsrum%7cgoogle%7ctv_bord"
"SLAGBORD, \"Bergslagen\", IKEA:s 1700-tals series","http://www.ikea.com/se/sv/catalog/categories/departments/living_room/10475/?se%7cps%7cnonbranded%7cvardagsrum%7cgoogle%7ctv_bord"\"utf-8)
escapechar	quotecharencodingSEARCH_TERMr.   z/SLAGBORD, "Bergslagen", IKEA:s 1700-tals series
ACTUAL_URL)re   r   r<   assert_index_equalr2   r   )rg   r>   rA   rB   s       r   test_escapecharr     s~    |D
 F__43   F - #'XXXXX&.%0M*N*NOOOOOr   c                 ~   | }d}|j         dk    r[d}t          j        t          |          5  |                    t          |          d           d d d            n# 1 swxY w Y   d S |                    t          |          d          }t          g dg dg d	d
          }t          j        ||           d S )Nz a b c
 1 2 3
 4 5 6
 7 8 9rG   6the 'pyarrow' engine does not support regex separatorsrp   \s+rs   r   r   r   r   )	r9   rv   rw   rx   re   r   r
   r<   r=   r   s         r   test_ignore_leading_whitespacer     s   F+D}	! F]:S111 	8 	8OOHTNNO777	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8__Xd^^_88FyyyyyyyyyIIJJH&(+++++s   %AA"%A"r)   r-   r/   r   c                 d   | }d}|Zd}t          j        t          |          5  |                    t	          |                     d d d            d S # 1 swxY w Y   d S t          g dg dd          }|                    t	          |          |          }t          j        ||           d S )Nza,b,c
0,1,2
3,4,5,6,7
8,9,10z(Expected \d+ fields in line \d+, saw \d+rp   )r   r3   r|   )r-   rV   r}   r/   r   )r)   )rv   rw   r   re   r   r
   r<   r=   )rg   r)   rA   r>   ry   r@   rB   s          r   test_uneven_lines_with_usecolsr     s    F
D
  
0 :];c222 	, 	,OOHTNN+++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 999999==>>$AA
fh/////s   #AAAzdata,kwargs,expected Xz,,)Dummyr   Dummy_2)r   r)   )r2   r\   r   r1   c                    | }|Sd}t          j        t          |          5   |j        t	          |          fi | d d d            d S # 1 swxY w Y   d S  |j        t	          |          fi |}t          j        ||           d S )NzNo columns to parse from filerp   )rv   rw   r   re   r   r<   r=   )rg   r>   kwargsr@   rA   ry   rB   s          r   test_read_empty_with_usecolsr     s    , F 0-]>555 	6 	6FOHTNN55f555	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 !$::6::
fh/////   AAAzkwargs,expectedT)r   r-   r.   r3   rW   rX   )r   delim_whitespaceskiprowsskip_blank_lines)      ?       @      @gffffff@rn   )r-   r.   r3   rW   rX   )r   r   r   r   r   r   rZ   ro   c           
      L   d}| }d}|j         dk    rd}t          j        t          |          5  t	          j        t          |d          5   |j        t          |	                    dd	                    fi | d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d S t	          j        t          |d          5   |j        t          |	                    dd	                    fi |}d d d            n# 1 swxY w Y   t	          j
        ||           d S )
NzsA B C  
random line with trailing spaces    
skip
1,2,3
1,2.,4.
random line with trailing tabs			
   
5.1,NaN,10.0
;The 'delim_whitespace' keyword in pd.read_csv is deprecatedrG   HThe 'delim_whitespace' option is not supported with the 'pyarrow' enginerp   Frq   check_stacklevelr4     )r9   rv   rw   rx   r<   assert_produces_warningFutureWarningre   r   replacer=   )rg   r   r@   r>   rA   depr_msgry   rB   s           r   test_trailing_spacesr     s2   4 LDFLH}	! X]:S111 	M 	M+X   M M  c4)@)@ A ALLVLLLM M M M M M M M M M M M M M M	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M
 			#X
 
 
 N N !$,,sD*A*A!B!BMMfMMN N N N N N N N N N N N N N N &(+++++sG   B0B<BB	BB	BB#&B#0DDDc                 ,   d}| }d}t          j        t          d          5  t          j        t
          |d          5  |                    t          |          dd	           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 )
Nza b c
1 2 3r   zyou can only specify onerp   Fr   z\sT)rs   r   )rv   rw   rx   r<   r   r   re   r   )rg   r>   rA   r   s       r   'test_raise_on_sep_with_delim_whitespacer   	  sD   DFLH	z)C	D	D	D N N'E
 
 
 	N 	N OOHTNNOMMM	N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	NN N N N N N N N N N N N N N N N N Ns4   B	&A1%B	1A5	5B	8A5	9B		BBc                     | }t          j        t          d          5  |                    d           d d d            d S # 1 swxY w Y   d S )Nz$Expected file path name or file-likerp   s   input)filepath_or_buffer)rv   rw   	TypeErrorre   )rg   rA   s     r   test_read_filepath_or_bufferr     s    F	y(N	O	O	O 5 584445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5s   AA	Ar   Fc                 `   | }d}t          dt          d          i          }d}|j        dk    rd}t          j        t
          |          5  t          j        t          |d	          5  |	                    t          |          d
|           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d S t          j        t          |d	          5  |	                    t          |          d
|          }d d d            n# 1 swxY w Y   t          j        ||           d S )NzMyColumn
a
b
a
b
MyColumnababr   rG   r   rp   Fr   T)r   r   )r
   r(   r9   rv   rw   rx   r<   r   r   re   r   r=   )rg   r   rA   r>   r@   r   ry   rB   s           r   #test_single_char_leading_whitespacer     s    FD *d6ll344HLH}	! X]:S111 	 	+X     TNN%)%5                   	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 			#X
 
 
 
 
 TNNTDT ! 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 &(+++++sH   B3*&BB3B 	 B3#B 	$B33B7:B7&DDDzsep,skip_blank_lines,exp_datar4         @)g     Qg?r   r   c                    | }d}|dk    r}|                     dd          }|j        dk    r\d}t          j        t          |          5  |                    t          |          ||           d d d            n# 1 swxY w Y   d S |                    t          |          ||          }t          |g d	
          }	t          j	        ||	           d S )Nz&A,B,C
1,2.,4.


5.,NaN,10.0

-70,.4,1
r   r4   r   rG   r   rp   )rs   r   ro   r1   )
r   r9   rv   rw   rx   re   r   r
   r<   r=   )
rg   rs   r   exp_datarequestrA   r>   ry   rB   r@   s
             r   test_empty_linesr   B  s,   ( FD f} 	||C&&=I% 	JCz555  TNN>N                    F__Xd^^GW_XXF???;;;H&(+++++s   	&A;;A?A?c                     | }d}t          g ddt          j        dggg d          }|                    t	          |                    }t          j        ||           d S )Nz)

	  		
	
A,B,C
	    1,2.,4.
5.,NaN,10.0
)r-   r   r   r   rn   ro   r1   )r
   r   r   re   r   r<   r=   rg   rA   r>   r@   rB   s        r   test_whitespace_linesr   q  sh    FD ---#rvt)<=WWWH__Xd^^,,F&(+++++r   zdata,expectedzG   A   B   C   D
a   1   2   3   4
b   1   2   3   4
c   1   2   3   4
r   rP   r   r_   z    a b c
1 2 3 
4 5  6
 7 8 9r-   r.   r3   )rV   rW   rX   )rY   r|   r}   c                 H   | }|j         dk    r[d}t          j        t          |          5  |                    t          |          d           d d d            n# 1 swxY w Y   d S |                    t          |          d          }t          j        ||           d S )NrG   r   rp   r   r   )r9   rv   rw   rx   re   r   r<   r=   )rg   r>   r@   rA   ry   rB   s         r   test_whitespace_regex_separatorr     s    . F}	! F]:S111 	8 	8OOHTNNO777	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8__Xd^^_88F&(+++++s   %AA #A c                     t           j                            |d          }t          g dgg d          }| }|                    |          }t          j        ||           d S )Nzsub_char.csvr   )r/   zbr7   r1   )rb   rc   joinr
   re   r<   r=   )rg   csv_dir_pathfilenamer@   rA   rB   s         r   test_sub_characterr     se    w||L.99H))).A.A.ABBBHF__X&&F&(+++++r   r   )u   sé-es-vé.csvu
   ru-sй.csvu   中文文件名.csvc                    | }t          dg di          }t          j        |          5 }|                    |d           |                    |          }t          j        ||           d d d            d S # 1 swxY w Y   d S )Nr/   r   Fr\   )r
   r<   ensure_cleanto_csvre   r=   )rg   r   rA   dfrc   rB   s         r    test_filename_with_special_charsr    s     F	C#	$	$B		"	" *d
		$e	$$$&&
fb)))	* * * * * * * * * * * * * * * * * *s   AA99A= A=c                    | }t          |j                  }t          |j                  }|j                                        |j                                        k    sJ |j        |j        k    sJ |j                                        D ]_\  }}|j        |         }|dk    r?|j        dk    sJ |j        dk    sJ |j        |j        k    sJ |j	        |j	        k    sJ W||k    sJ `d S )Nrs   r4   	)
r   
read_tablere   
parameterskeysreturn_annotationitemsdefault
annotationkind)rg   rA   
table_signcsv_signkey	csv_paramtable_params          r   *test_read_table_same_signature_as_read_csvr    s   F6,--J))H %%''8+>+C+C+E+EEEEE'8+EEEEE"-3355 	( 	(Y +C0%< 	$++++&$....)Y-AAAAA#y~5555i'''''	( 	(r   c                     | }d}|                     t          |          d          }|                    t          |                    }t          j        ||           d S )Nza	b
1	2
3	4r  r   )re   r   r  r<   r=   r   s        r   'test_read_table_equivalency_to_read_csvr    s[     FDx~~488Hx~~..F&(+++++r   	read_funcre   r  c                     | }d}t          j        d             t          ||          t          |                    }t          j        d            t	          ddgi          }t          j        ||           d S )Nza b
0 1c                      d S )Nr!   )r/   ks     r   <lambda>z8test_read_csv_and_table_sys_setprofile.<locals>.<lambda>  s    4 r   za bz0 1)sys
setprofilegetattrr   r
   r<   r=   )rg   r  rA   r>   rB   r@   s         r   &test_read_csv_and_table_sys_setprofiler    s~     FDN''((('WVY''77FN4%%)**H&(+++++r   c                     | }d}|                     t          |          d          }t          g d          }t          j        ||           d S )Nu   ﻿"Head1"	"Head2"	"Head3"r  r6   Head1Head2Head3r1   r   r   s        r   test_first_row_bomr$    sY     F0D__Xd^^t_<<F!<!<!<===H&(+++++r   c                     | }d}|                     t          |          d          }t          g d          }t          j        ||           d S )Nu   ﻿Head1	Head2	Head3r  r  r   r1   r   r   s        r   test_first_row_bom_unquotedr&    sY     F*D__Xd^^t_<<F!<!<!<===H&(+++++r   rX   c                 6   t          t          j        t          j        gt          j        t          j        gddgt          j        t          j        gddggt          d                    }d}| }|j        dk    r]d	}t          j        t          |
          5  |                    t          |          d|d           d d d            n# 1 swxY w Y   d S |                    t          |          d|d          }t          j        ||d |                    d S )Nr-   r.   r3   rV   abr1   z
header

a,b


1,2

3,4rG   r   rp   F)r   r   r   )r
   r   r   r(   r9   rv   rw   rx   re   r   r<   r=   )rg   r   refcsvrA   ry   r  s          r   -test_blank_lines_between_header_and_data_rowsr+    sN    
&"&	BFBF+aVbfbf5E1vNT

  C ,CF}	! M]:S111 	 	OOauu    	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 		#qPU	V	VB"c&5&k*****s   'C		CCc                     g d}t          g dg|          }t          d          }| }|                    t          d|d |d          }t	          j        ||           d S )N)onetwothree)r   r   r   r1   zfoo,bar,baz,bam,blahzkLength of header or names does not match length of data. This leads to a loss of data with index_col=False.F)r   r   rF   )r
   r   read_csv_check_warningsr	   r<   r=   )rg   column_namesr)  streamrA   r  s         r    test_no_header_two_extra_columnsr3    s     +**L
***+\
B
B
BC,--FF		'	'	= 
( 
 
B "c"""""r   c                     d}| }t          j        t          d          5  |                    t	          |          t          d                     d d d            d S # 1 swxY w Y   d S )Nz    1,2,3
    4,5,6
z&Names should be an ordered collection.rp   QAZr   )rv   rw   rx   re   r   set)rg   r>   rA   s      r   &test_read_csv_names_not_accepting_setsr8  '  s    D F	z)Q	R	R	R : :c%jj999: : : : : : : : : : : : : : : : : :s   2AA#&A#c                 8   t          d          }| }d}|j        dk    rd}t          j        t          |          5  t          j        t          |d          5  |                    |d	           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d S t          j        t          |d          5  |                    |d	          }d d d            n# 1 swxY w Y   t          d
dgddgddgd          }t          j
        ||           d S )Na  b  c
1 -2 -3
4  5   6=The 'delim_whitespace' keyword in pd.read_table is deprecatedrG   r   rp   Fr   T)r   r-   rV   rW   rX   r   )r   r9   rv   rw   rx   r<   r   r   r  r
   r=   )rg   frA   r   ry   rB   r@   s          r   ,test_read_table_delim_whitespace_default_sepr?  1  s   -..AFNH}	! X]:S111 	< 	<+X   < < !!!d!;;;< < < < < < < < < < < < < < <	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	<
 			#X
 
 
 = = ""1t"<<= = = = = = = = = = = = = = = 1vRG2q'BBCCH&(+++++sG   BA=1B=B	BB	BBB=C!!C%(C%r6   r  c                    t          d          }| }d}d}t          j        t          |d          5  t	          j        t          |          5  |                    |d|           d d d            n# 1 swxY w Y   t	          j        t          |          5  |                    |d|	           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 )
Nr:  XSpecified a delimiter with both sep and delim_whitespace=True; you can only specify one.r   Fr   rp   Tr   rs   r   r6   )r   r<   r   r   rv   rw   rx   re   rg   r6   r>  rA   ry   r   s         r   .test_read_csv_delim_whitespace_non_default_seprE  H  s    	-..AF	;  MH		#X
 
 
 K K ]:S111 	E 	EOOA)ODDD	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E ]:S111 	K 	KOOA	OJJJ	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	KK K K K K K K K K K K K K K K K K KY   CA3'C3A7	7C:A7	;CB>2C>C	CC	CCCc                     t          d          }| }d}t          j        t          |          5  |                    |dd           d d d            d S # 1 swxY w Y   d S )Nza,b
1,2z:Specified a sep and a delimiter; you can only specify one.rp    .)rs   r6   )r   rv   rw   rx   re   )rg   r>  rA   ry   s       r   *test_read_csv_delimiter_and_sep_no_defaultrJ  \  s    AF
FC	z	-	-	- 3 3sc2223 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3s   AAAr   
rs   c                     |}d}d}t          j        t          |          5   |j        t	          |          fi |  d d d            d S # 1 swxY w Y   d S )Nza,b,c
1,2,3
    zSpecified \\n as separator or delimiter. This forces the python engine which does not accept a line terminator. Hence it is not allowed to use the line terminator as separator.rp   r   )r   rg   rA   r>   ry   s        r   %test_read_csv_line_break_as_separatorrM  e  s     FD	- 
 
z	-	-	- 2 211&1112 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2r   c                    t          d          }| }d}d}t          j        t          |d          5  t	          j        t          |          5  |                    |d|           d d d            n# 1 swxY w Y   t	          j        t          |          5  |                    |d|	           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 )
Nr:  rA  r;  Fr   rp   TrB  rC  )r   r<   r   r   rv   rw   rx   r  rD  s         r   0test_read_table_delim_whitespace_non_default_seprO  u  s    	-..AF	;  OH		#X
 
 
 M M ]:S111 	G 	Ga$IFFF	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G ]:S111 	M 	Ma$)LLL	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	MM M M M M M M M M M M M M M M M M MrF  c                     d}t           t           d                                }| }|                    t          |          |          }t	          dgdgd          }t          j        ||           d S )N1,2r   r6  r-   r.   )intr  re   r   r
   r<   r=   )rg   r>   r  rA   rB   r@   s         r   test_dict_keys_as_namesrS    st     D3$$&&DF__Xd^^4_88Fs!--..H&(+++++r   c                 @   | }d}|                     dd          }t          ||gi|dz  g          }|dz  |j        _        t	          j                    5 }t          |                              |dz  dz   |z   dz   |dz  z   dz   |z              |                    |dd	
          }t	          j	        ||           t          j        t          d          5  |                    |           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 )Ns   r   surrogatepass)errorsr.   r      ,   
r   )encoding_errorsrF   z'utf-8' codec can't decode byterp   )decoder
   r\   r^   r<   r   r   write_bytesre   r=   rv   rw   UnicodeDecodeError)rg   rA   contentdecodedr@   rc   r  s          r   test_encoding_surrogatepassr_    s    FGnnW_n==G'G9-gk]CCCH!A+HN			 "dT

aK$(507Q;>EO	
 	
 	
 __T?a_PP
b(+++]-5VWWW 	" 	"OOD!!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"" " " " " " " " " " " " " " " " " "s7   BDC;/D;C?	?DC?	DDDc                     | }d}|                     t          |          dd          }t          ddgi          }t          j        ||           d S )Nz
a
b
Fr-   )r   r   r/   r   r   r   s        r   test_malformed_second_linera    sU    FD__Xd^^eA_NNF#u&&H&(+++++r   c                     | }g d}d}|                     t          |          d |          }t          dgdgt          j        gd          }t          j        ||           d S )Nr   rQ  r   r   r-   r.   r   rg   rA   r2   r>   rB   r@   s         r   test_short_single_linere    sl     FooGD__Xd^^D_HHFs!BF8<<==H&(+++++r   c                     | }g d}d}|                     t          |          d |          }t          ddgddgt          j        t          j        gd          }t          j        ||           d S )Nr   z1,2
1,2rc  r-   r.   r   rd  s         r   test_short_multi_linerg    su     FooGD__Xd^^D_HHF1vQF"&"&9IJJKKH&(+++++r   c                    | }d}d}t          j                    5 }t          |                              ||z   d           t	          |d          5 }|                                 |                    |          }d d d            n# 1 swxY w Y   |                    t          |                    }d d d            n# 1 swxY w Y   t          j        ||           d S )Nz	### DATA
znkey,value
tables,rectangular
r   )r   )	r<   r   r   
write_textopenreadlinere   r   r=   )rg   rA   ri   r]  rc   fileactualr@   s           r   test_read_seekrn    sN   FF0G			 6dT

fw.AAA$))) 	+TMMOOO__T**F	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ ??8G#4#4556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 &(+++++s5   9C*B	=C	B	CB	%CC	C)T__doc__r   inspectr   ior   rb   pathlibr   r  numpyr   rv   pandas.errorsr   r   r	   pandasr
   r   r   r   pandas._testing_testingr<   pandas.io.parsersr   "pandas.io.parsers.c_parser_wrapperr   markfilterwarnings
pytestmarkusefixturesxfail_pyarrowskip_pyarrowrC   rk   rz   r   r   r   r   parametrizer   r   r   r   r   r   r   r   r   float64r   r   r   r   r   r   r   r   r   r   r  r  r  r  r$  r&  r   r+  r3  r8  r?  rE  rJ  rM  rO  rS  r_  ra  re  rg  rn  r!   r   r   <module>r     s	                      				       



                                , , , , , , = = = = = =[''C 
 ''88{&&~66,, ,, ,,^!, !, !,H, , ,$ , , , 	, 	, 	,, , ,0, , ,B 1c(++, , ,+,4 "2"2"2335 5 435$? ? ? , , ,E, E, E,P 
, 
, 
,P P P$, , ,  TAq6C:$>??0 0 @? 0*  
R	i#&///SEBBIseA3bjAAA	
 ///SEBBIse$$$	
 &
0 
0'  (
0  $(...$(	  Ibfd(;<==	
 %)+OO$( 
 IS#Jc26]#rKKLL	
 2, ,3 2,,
N 
N 
N5 5 5 +dE];; ,  , <; ,F #	d___sBFD&9;L;L;LMN	#rvt)<>O>O>OPQ((bfd#(!!!	
 &, ,' &,8 , , , 
 I|||\\\:,,,%oo  	
 0Iyyy)))YYY7QQQ	
 *
, 
,+ *
,, , , %\%\%\]]	* 	* ^]	*( ( (,, , , z<&@AA
, 
, BA
, , , , , , , %%1++..+ + /.+* # # #$: : :, , ,. sDk22K K 32K&3 3 3 [$$7%#GHH2 2 IH2 sDk22M M 32M& 	, 	, 	, " " "$, , , , , , , , ,, , , , ,r   