
    Mh	                         S SK r S SKJr  S SKrS SKrS SKrS SKJr  S SK	r
S SK	JrJrJrJrJrJrJrJrJrJr  S SKJr  S SKJs  Jr  S SKJr   " S S5      rg)    N)StringIO)ParserError)
	DataFrameIndex
MultiIndexNaTSeries	Timestamp
date_rangeperiod_rangeread_csvto_datetime)
get_handlec                   8   \ rS rSrS rS rS rS rS rS r	S r
\R                  R                  S	S
SS//5      S 5       r\R                  R                  S 5       r     SgS jr\R                  R                  \R                  R                  S/ SQ5      S 5       5       r\R                  R                  \R                  R                  S/ SQ5      \R                  R                  S/ SQ5      \R                  R                  S/ SQ5      \R                  R'                  S5      S 5       5       5       5       5       r\R                  R                  \R                  R                  S/ SQ5      \R                  R                  S/ SQ5      S 5       5       5       r\R                  R                  \R                  R                  S/ SQ5      S 5       5       r\R                  R                  S 5       r\R                  R                  S 5       r\R                  R                  \R                  R                  S/ SQ5      \R                  R                  S/ SQ5      \R                  R                  S S!S"0S#S"0/S$S"0S%S"0/S"S"S&.S"S"S'.//5      S( 5       5       5       5       rS) rS* rS+ rS, rS- rS. rS/ r S0 r!S1 r"S2 r#S3 r$S4 r%\R                  R                  S5/ S6Q5      S7 5       r&\R                  R                  S8 5       r'S9 r(S: r)S; r*S< r+S= r,S> r-S? r.\R                  R                  S@S
SA/5      SB 5       r/SC r0SD r1SE r2SF r3\R                  R                  SG\4" / SHQ/ SIQ/SJSK// SLQSM9S
4\4" / SNQ// SLQSO9SP4\4" SQ/ SRQ/-  / SLQSO9SS4\4" SQ/ STQ/-  / SLQSO9SU4/5      SV 5       r5SW r6\R                  R                  SX\7Rp                  " SY5      \7Rp                  " SZ5      /5      S[ 5       r9S\ r:S] r;S^ r<S_ r=S` r>Sa r?Sb r@Sc rASd rBSe rCSfrDg
)hTestDataFrameToCSV   c                 F    SS0nUR                   " S0 UD6  [        U40 UD6$ )N	index_colr    )updater   )selfpathkwargsparamss       X/var/www/html/env/lib/python3.13/site-packages/pandas/tests/frame/methods/test_to_csv.pyr   TestDataFrameToCSV.read_csv   s+    q!'''    c                    [         R                  " S5       n[        R                  UR                  S S2UR
                  R                  S5      4'   UR                  U5        UR                  USS/S9  UR                  USS9  UR                  USS9  UR                  R                  S 5      Ul        UR                  U5        U R                  US	S
9n[         R                  " X$5        UR                  USS9  U R                  US S	S9n[        UR
                  5      [        UR
                  5      S-   :X  d   eUR                  USS9  U R                  US S	S9n[         R                  " UR                  UR                  5        [        [!        [#        S5      [        R$                  " S[        R&                  S9S9[!        [#        S5      [        R$                  " S[        R&                  S9S9S.5      nUR                  U5        U R                  U5      n[         R                  " XT5        S S S 5        g ! , (       d  f       g = f)N__tmp_to_csv_from_csv1__   ABcolumnsFheaderindexT)parse_datesr(   index_labelr   r)         dtype   )s1s2)tmensure_cleannpnanilocr$   get_locto_csvr(   
_with_freqr   assert_frame_equallenassert_almost_equalvaluesr   r	   rangearangeint64)r   float_framedatetime_framer   reconsdms         r   test_to_csv_from_csv1(TestDataFrameToCSV.test_to_csv_from_csv1$   s   __78DEGVVKRaR!4!4!<!<S!AABt$tc3Z8tE2t51 $2#7#7#B#B4#HN !!$']]4T]:F!!.9!!$G!<]]44T]JFv~~&#n.D.D*E*IIII !!$e!4]]44T]JF"">#8#8&--H  q1BHH1MN q1BHH1MNB IIdO]]4(F!!"-G 988s   HH==
Ic                    [         R                  " S5       n[        [        R                  R                  S5      R                  S5      / SQ/ SQS9nUR                  U5        U R                  U5      n[         R                  " XC5        [        R                  " / SQ5      n[        [        R                  R                  S5      R                  S5      U/ SQS9nUR                  U5        U R                  U/ SQS	S
9n[         R                  " XCS	S9  [        / SQ5      nUR                  X&S9  U R                  U5      nUR                  5       nXhl        [         R                  " X5        Sn	[        R                   " ["        U	S9   UR                  USS/S9  S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)N__tmp_to_csv_from_csv2__r1   r.   r.   arM   b)xyzr(   r$   )r!   r-   r1   rS   )r"   r-   r1   r   r-   r1   Fr,   check_names)AAXYZr%   z Writing 4 cols but got 2 aliasesmatchrW   rX   )r4   r5   r   r6   randomdefault_rngstandard_normalr:   r   r<   r   from_tuplesr   copyr$   pytestraises
ValueError)
r   rC   r   dfresultmidxcol_aliasesrsxpmsgs
             r   test_to_csv_from_csv2(TestDataFrameToCSV.test_to_csv_from_csv2J   so   __78D		%%a(88@%'B
 IIdO]]4(F!!&-))*QRD		%%a(88@'B IIdO]]49%]PF!!&%@   56Kt8t$B!!#B$J!!")4Cz5""4s"< 6A 98@ 65A 98s$   E2F>	F-F>-
F;	7F>>
Gc                    [         R                  " S5       n[        [        R                  R                  S5      R                  S5      5      n[        [        R                  R                  S5      R                  S5      5      nUR                  U5        UR                  USSS9  [        R                  " X#/5      n[        USS9nUR                   Vs/ s H  n[        U5      PM     snUl        UR                   Vs/ s H  n[        U5      PM     snUl        [         R                  " XE5        S S S 5        g s  snf s  snf ! , (       d  f       g = f)	N__tmp_to_csv_from_csv3__r1   )r.   r-   rM   F)moder&   r   r   )r4   r5   r   r6   r]   r^   r_   r:   pdconcatr   r$   intr<   )r   r   df1df2rj   ri   labels          r   test_to_csv_from_csv3(TestDataFrameToCSV.test_to_csv_from_csv3n   s    __78DBII11!4DDVLMCBII11!4DDVLMCJJtJJt#eJ4C:&B$!,B24**=*#e**=BJ24**=*#e**=BJ!!") 98 >= 98s*   C ED>,EEE>
E
Ec                    [         R                  " S5       n[        R                  " SS9n[	        S[        S5       Vs/ s H  o3U-  PM	     sn0[        [        S5       Vs/ s H  o3U-  PM	     snSS9S9nUR                  U5        [        USS	9n[        R                  " UR                  5      Ul
        [        R                  " US   5      US'   [         R                  " XES
S9  S S S 5        g s  snf s  snf ! , (       d  f       g = f)N__tmp_to_csv_from_csv4__r-   )secondsdt_datar.   dt_indexnamer'   rq   T)check_index_type)r4   r5   rr   	Timedeltar   r@   r   r:   r   to_timedeltar(   r<   )r   r   dtire   rf   s         r   test_to_csv_from_csv4(TestDataFrameToCSV.test_to_csv_from_csv4{   s    __78Da(BU1X6XVX67U1X6XVX6ZHB IIdOdj9F??6<<8FL "y0A BF9!!"tD 98 76 98s)   (C<C2C<"C70A9C<2
C<<
D
c                 
  ^^ [         R                  " S5       nTR                  U5        [        USS/S9mUU4S jnU" S5      TS'   U" S5      TS'   [         R                  " TT5        S S S 5        g ! , (       d  f       g = f)N__tmp_to_csv_from_csv5__r   r!   r,   c                    > [        TU    5      R                  R                  S5      R                  R                  TU    R                  R                  5      $ )NUTC)r   r   
tz_converttz)crf   timezone_frames    r   <lambda>:TestDataFrameToCSV.test_to_csv_from_csv5.<locals>.<lambda>   s@    +fQi0JJu%JJ~a0336678r   r"   C)r4   r5   r:   r   r<   )r   r   r   	converterrf   s    `  @r   test_to_csv_from_csv5(TestDataFrameToCSV.test_to_csv_from_csv5   sr    __78D!!$'dacUCF8 
 $C.F3K#C.F3K!!&.9 988s   AA44
Bc                    Sn[        US-  5      n[        [        R                  " US45      [	        [        U5       Vs/ s H  nSU 3PM
     snSS9[	        [        S5       Vs/ s H  nSU 3PM
     snSS9S9nUR                  nUS   US	   /n[        R                  " 5        nUR                  XvUS
9  [        US	S9nS S S 5        [        R                  " XF   WSS9  g s  snf s  snf ! , (       d  f       N1= f)Nr          @r.   i-rM   r   rR   r1   r   r$   	chunksizerq   FrU   )rt   r   r6   onesr   r@   r$   r4   r5   r:   r   r<   )	r   r   Nr   re   cscolsr   rs_cs	            r   test_to_csv_cols_reordering.TestDataFrameToCSV.test_to_csv_cols_reordering   s    		C GGQFO5848a2aS843?U1X6XRs8X6SA

 ZZ1r!u~__$IIdII>DA.D  	bh%@ 56
 s   C#%C('C--
C;r   NrN   rM   c           
         Sn[        US-  5      n[        [        R                  " US45      [	        [        U5       Vs/ s H  nSU 3PM
     snSS9/ SQS9n[        R                  " 5        nUR                  XaUS	9  [        US
S9nUb  UR                  R                  (       a  Xl
        O=UR                  R                  U5      u  pUR                  R                  U5      Ul
        U HM  n
XZ   nXz   n[        U[        5      (       a  [        R                   " X5        M8  [        R"                  " XSS9  MO     O&UR                  Ul
        [        R"                  " XWSS9  S S S 5        g s  snf ! , (       d  f       g = f)Nr    r   r.   r   rM   r   rL   rR   r   r   rq   FrU   )rt   r   r6   r   r   r@   r4   r5   r:   r   r$   	is_uniqueget_indexer_non_uniquetake
isinstancer	   assert_series_equalr<   )r   r   r   r   r   re   r   r   indexermissingr   obj_dfobj_rss                r   test_to_csv_new_dupe_cols,TestDataFrameToCSV.test_to_csv_new_dupe_cols   s;   		C  GGQFO5848a2aS843?#

 __$IIdII>DA.D ::''#'L')zz'H'H'N$G#%::??7#;DLAUF!WF!&&11..v>--f%P   "zz%%bEB1  5 s   E..C7E33
Fc                 J   S
S jnSnU" US-   5      nU" US-   S5      n[         R                  " S5       n[        X4S.5      nUR                  XRS9  U R	                  U5      R                  [        5      n[         R                  " XgSS	9  S S S 5        g ! , (       d  f       g = f)Nc                 l   Uc  [        U S-  5      n[        [        SSU S95      nU(       a  [        R                  R                  S5      R                  S[        U5      U5       H  n[        X#'   M     [        R                  R                  S5      R                  S5      n[        X#* '   [        X#'   U$ )Ng?20005min)freqperiodsr1   r   d   )	rt   listr   r6   r]   r^   integersr=   r   )nnnatsr   s       r   make_dtnat_arr<TestDataFrameToCSV.test_to_csv_dtnat.<locals>.make_dtnat_arr   s    |1s7|ZVQ?@A..q1::1c!fdKAAD LII))!,55c:"Hr     r    r   z1.csvrM   rN   r   FrU   N)r4   r5   r   r:   r   applyr   r<   )r   r   r   r2   r3   pthre   rE   s           r   test_to_csv_dtnat$TestDataFrameToCSV.test_to_csv_dtnat   s    
	 	IM*IM1-__W%-.BIIcI/]]3'--k:F!!"%@ &%%s   AB
B"c           	         SS0nU(       au  Ub  [        [        U5      5      US'   [        [        U5      5      US'   [        R                  " S5       n	UR	                  U	SUS9  U R
                  " U	40 UD6n
S S S 5        OHSUS'   [        R                  " S5       n	UR	                  U	SUS9  U R
                  " U	40 UD6n
S S S 5        S	 nU(       a  UR                  W
l        U(       a  U(       d  [        US
-
  5       Vs/ s H   nW
R                  S S 2U4   R                  PM"     nn[        R                  " [        W
R                  5      /U-   5      nXl        U
R                  S S 2US
-
  S 24   n
SSSSSSS.nU(       Ga  US:X  az  Sn[        R                  " W
R                   Vs/ s H  nU" U5      PM     snUS9U
l        [        R                  " UR                   Vs/ s H  nU" U5      PM     snUS9Ul        GOyUS:X  a  Sn[        R                  " W
R                   Vs/ s H  n[        U5      PM     snUS9U
l        [        R                  " UR                   Vs/ s H  n[        U5      PM     snUS9Ul        OUS:X  a  Sn[        W
R                  5      n[        R                  " U Vs/ s H  n[        U5      PM     snUS9U
l        [        R                  " [        [!        [        UR                  R#                  5       5      5      US9Ul        OYUR%                  U5      n[        R                  " W
R                  US9U
l        [        R                  " UR                  US9Ul        U(       Ga  US:X  a{  Sn[        R                  " W
R                   Vs/ s H  nU" U5      PM     snUS9U
l        [        R                  " UR                   Vs/ s H  nU" U5      PM     snUS9Ul        X4$ US:X  a  Sn[        R                  " W
R                   Vs/ s H  n[        U5      PM     snUS9U
l        [        R                  " UR                   Vs/ s H  n[        U5      PM     snUS9Ul        X4$ US:X  a  Sn[        W
R                  5      n[        R                  " U Vs/ s H  n[        U5      PM     snUS9U
l        UR                  R#                  5       n[        R                  " U Vs/ s H  n[        U5      PM     snUS9Ul        X4$ UR%                  U5      n[        R                  " W
R                  US9U
l        [        R                  " UR                  US9Ul        UW
4$ ! , (       d  f       GN= f! , (       d  f       GN= fs  snf s  snf s  snf s  snf s  snf s  snf s  snf s  snf s  snf s  snf s  snf s  snf )Nr)   Fr   r&   __tmp_to_csv_moar__utf8)encodingr   r   c                 R    [        U [        5      (       d  U R                  S5      $ U $ )Nr   )r   strdecoderO   s    r   _to_uni;TestDataFrameToCSV._return_result_expected.<locals>._to_uni  s#    a%%xx''Hr   r-   r   fO)r   r   r   ur   pr   r/   r   r   )r   r@   r4   r5   r:   r   r$   r8   r?   r   from_arraysr(   r6   arrayr
   r   mapto_timestampget)r   re   r   r_dtypec_dtypernlvlcnlvldupe_colr   r   rE   r   r   	delta_lvlixtype_maprw   idx_listcol_lists                      r   _return_result_expected*TestDataFrameToCSV._return_result_expected   s     ' &*5<&8{##E%L1F8!674		$9	Et6v6 87  !F8!674		$9	Et6v6 8	
   ZZFN;@;KL;KaQT*11;KIL''fll);(<y(HIBL[[EAIK0F3Ss#CP#~!xx17>WU^>g  8813:WU^:' D!xx39<<@<%Yu%<@  883588<8%Yu%8<G C&v||4!xx3;<8%Yu%8<G  88Y(=(=(?@A #,,w/!xxGD88BHHG<#~!#17@WU^@"  XX13<WU^<G
2 z- D!#39>>B>%Yu%>B'"  XX35::>:%Yu%:>g
" z C&v~~6!#3;<8%Yu%8<G" ::224XX3;<8%Yu%8<G
 z #,,w/!#&..!HXXbjj@
6zo 87 87 M ? ;
 A = = A =
 C ? = =s`   %V%V!'V3-V8(V=-W+W=W.W)W/W-W W%W*
V!
V0nrows)r1   
   c   r   e   f                           c           	          [        [        R                  " US45      [        SUS9[	        [        S5      [        S9S9nU R                  USSS	5      u  p4[        R                  " X4S
S9  g )N   
2020-01-01r   abcdr/   rR   r   r   r   FrU   )
r   r6   r   r   r   r   objectr   r4   r<   )r   r   re   rf   expecteds        r   test_to_csv_nrows$TestDataFrameToCSV.test_to_csv_nrowsU  sa    
 GGUAJ\59$v,f5

  77D$L
fEBr   zr_idx_type, c_idx_type))r   r   )r   r   )r   r   )r   r   ncolsr-   r1   r.   r   z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                     S S S S S.n[        [        R                  " X45      XR   " U5      XS   " U5      S9nU R                  USUU5      u  px[        R
                  " XxSS	9  g )
Nc                 Z    [        [        R                  " U 5      [        R                  S9$ )Nr/   )r   r6   rA   rB   r   s    r   r   :TestDataFrameToCSV.test_to_csv_idx_types.<locals>.<lambda>m  s    51RXX>r   c           
      x    [        [        SSU -   5       Vs/ s H  o S[        U5       3PM     sn5      $ s  snf )Na   _)r   r@   chr)r   r   s     r   r   r   n  s4    55R!V;L!M;LaCqQ/;L!MN!Ms   7c                     [        SU S9$ )Nr   r   )r   r   s    r   r   r   o  s    J|Q?r   c                     [        SU SS9$ )Nr   D)r   r   )r   r   s    r   r   r   p  s    <acJr   )r   r   r   r   rR   r   FrU   )r   r6   r   r   r4   r<   )	r   r   
r_idx_type
c_idx_typer   axesre   rf   r   s	            r   test_to_csv_idx_types(TestDataFrameToCSV.test_to_csv_idx_typesb  sz     ?N?J	
 GGUN#"5)$U+

  77	
 	fEBr   )r   b   r   r   r   r   r   r   r   r   r   r   r   r   c                 >   [        [        R                  " X45      [        [	        U5       Vs/ s H  nSU 3PM
     snSS9[        [	        U5       Vs/ s H  nSU 3PM
     snSS9S9nU R                  US5      u  pV[        R                  " XVSS9  g s  snf s  snf )Nr   rM   r   rR   r   FrU   )r   r6   r   r   r@   r   r4   r<   )r   r   r   r   re   rf   r   s          r   test_to_csv_idx_ncols(TestDataFrameToCSV.test_to_csv_idx_ncols  s     GGUN#5<8<a2aS<8sCU5\:\Rs8\:E

  77DA
fEB	 9:s   BB)r   r  r   r   r   r   c                    [        [        R                  " US45      [        [	        U5       Vs/ s H  nSU 3PM
     snSS9[        [	        S5       Vs/ s H  nSU 3PM
     snSS9S9n[        UR                  5      nSS/US S& SS/USS & [        UR                  5      nS	S	/US S& S	S	/USS & XSl        XCl        U R                  US
SS9u  pg[        R                  " XgSS9  g s  snf s  snf )Nr.   r   rM   r   rR   duper1   rduper   T)r   FrU   )r   r6   r   r   r@   r   r$   r(   r   r4   r<   )r   r   r   re   r   r   rf   r   s           r   test_to_csv_dup_cols'TestDataFrameToCSV.test_to_csv_dup_cols  s     GGUAJ5<8<a2aS<8sCU1X6XRs8X6SA
 BJJF#RaV$RS	"((^7#2AG$23
77D47P
fEB 96s   C'C,c                     [        [        R                  " S[        R                  S9S9nU R	                  US5      u  p#[
        R                  " X#SS9  g )Nr   r/   r'   r   F)check_column_type)r   r6   rA   rB   r   r4   r<   )r   re   rf   r   s       r   test_to_csv_empty$TestDataFrameToCSV.test_to_csv_empty  s@    RYYr:;77DA
f%Hr   c                 J   SnUS-  S-   n[        [        R                  " US45      [        [	        S5      [
        S9[        R                  " [        S5       Vs/ s H  n[        U5      PM     sn5      S9nU R                  XASS9u  pV[        R                  " XVSS	9  g s  snf )
Nr   r1   r-   abr/   r$   r(   )r   FrU   )r   r6   r   r   r   r   r   r   r@   r   r4   r<   )r   r   rowsr  re   rf   r   s          r   test_to_csv_chunksize(TestDataFrameToCSV.test_to_csv_chunksize  s    	A~!GGT1I$t*F3((uQx)Hx!%+x)HI

  77Q7O
fEB *Is   B )r1   r.   r   zdf_params, func_paramsr_idx_nlevelsr1   r   c_idx_nlevelsr   )r  r   )r   r   c                   ^^ UR                  S5      (       a-  [        R                  " U4S j[        US   5       5       5      nOS nUR                  S5      (       a-  [        R                  " U4S j[        US   5       5       5      nO+[	        [        T5       Vs/ s H  nSU 3PM
     sn[
        S9n[        [        R                  " TT45      XVS9nU R                  " US40 UD6u  p[        R                  " XS	S
9  g s  snf )Nr  c              3   l   >#    U  H$  n[        T5       Vs/ s H  nS U 3PM
     snv   M&     gs  snf 7fr   Nr@   ).0r  r   r   s      r   	<genexpr>8TestDataFrameToCSV.test_to_csv_params.<locals>.<genexpr>  s6      +:A $)<0<a2aS<0: 1   4/4r   c              3   l   >#    U  H$  n[        T5       Vs/ s H  nS U 3PM
     snv   M&     gs  snf 7fr#  r$  )r%  r  r   r   s      r   r&  r'    s6      -:A $)<0<a2aS<0: 1r(  r   r/   rR   r   FrU   )r   r   r   r@   r   r   r   r6   r   r   r4   r<   )r   r   	df_paramsfunc_paramsr   r(   r$   r   re   rf   r   s    `  `      r   test_to_csv_params%TestDataFrameToCSV.test_to_csv_params  s     ==))** +y9:+ E
 E==)) ,, -y9:- G
 uU|<|!r!X|<FKGrwwu~.eM77DPKP
fEB =s   Dc                    [         R                  US'   S nUR                  R                  U5      US'   [        R
                  " 5        nUR                  U5        U R                  U5      n[        R                  " X5        [        R                  " [         R                  " U5      [         R                  " U5      5        S S S 5        g ! , (       d  f       g = f)NGc                     [         R                  [         R                  /[         R                  R	                  S5      R                  5       S:     $ )Nr1         ?)r6   infr7   r]   r^   r   s    r   r   ETestDataFrameToCSV.test_to_csv_from_csv_w_some_infs.<locals>.<lambda>  s3    rvvrvv&ryy'<'<Q'?'F'F'H3'NOr   h)
r6   r7   r(   r   r4   r5   r:   r   r<   isinf)r   rC   r   r   rE   s        r    test_to_csv_from_csv_w_some_infs3TestDataFrameToCSV.test_to_csv_from_csv_w_some_infs  s    66CO&,,003C__$t$]]4(F!!+6!!"((;"7&9IJ s   
A8C
Cc                    [         R                  US'   [         R                  * US'   [        R                  " 5        nUR	                  U5        U R                  U5      n[        R                  " X5        [        R                  " [         R                  " U5      [         R                  " U5      5        S S S 5        g ! , (       d  f       g = f)NEF)r6   r2  r4   r5   r:   r   r<   r5  )r   rC   r   rE   s       r   test_to_csv_from_csv_w_all_infs2TestDataFrameToCSV.test_to_csv_from_csv_w_all_infs  s    66CFF7C__$t$]]4(F!!+6!!"((;"7&9IJ s   A8B>>
Cc                 j   [         R                  " S5       n[        / SQ/ SQS.5      nUR                  USS9  [	        U5      n[         R
                  " X#5        [        / SQSS	9US
'   UR                  USS9  [	        U5      n[         R
                  " X#5        S S S 5        g ! , (       d  f       g = f)N__tmp_to_csv_no_index__r-   r1   r.   r   r       )c1c2Fr'   )      	   rB   r/   c3)r4   r5   r   r:   r   r<   r	   )r   r   re   rf   s       r   test_to_csv_no_index'TestDataFrameToCSV.test_to_csv_no_index  s    __674)9=>BIId%I(d^F!!"-iw7BtHIId%I(d^F!!"- 877s   BB$$
B2c                 |    [        / SQ/ SQS.5      nSUS'   UR                  5       UR                  / SQS9:X  d   eg )NrM   rN   r   )aabbcc)r   r-   txttest)r   r-   rP  r#   )r   r:   )r   re   s     r   test_to_csv_with_mix_columns/TestDataFrameToCSV.test_to_csv_with_mix_columns  s<     ?/ABC6
yy{biii????r   c                    [        SS/SS//SS/S9n[        SS/SS//SS	/S9n[        R                  " S
5       nUR                  USS	/S9  U R	                  U5      n[        R
                  " X$5        UR                  USSS	/S9  U R	                  U5      nUR                  SS9nUb   e[        R
                  " X$5        S S S 5        g ! , (       d  f       g = f)Nr-   r1   r.   r   r!   r"   r#   rX   rY   __tmp_to_csv_headers__r%   F)r(   r&   T)inplace)r   r4   r5   r:   r   r<   reset_index)r   from_dfto_dfr   rE   return_values         r   test_to_csv_headers&TestDataFrameToCSV.test_to_csv_headers  s     aVaV,sCjAAq6Aq6*S#J?__56$NN4c
N3]]4(F!!%0NN4uc3ZN@]]4(F!--d-;L'''!!%0 766s   BC
Cc                    UnUR                   n[        R                  " [        U5      S-  [        R                  S9R                  SS5      n[        R                  " USS/S9nXcl         [        R                  " S5       nUR                  USS	9  UR                  US
S/S9  UR                  U5        U R                  USS/SS9n[        R                  " X8SS9  UR                   R                  UR                   R                  :X  d   eXAl         Un	U	R                   nU[        R                  " [        U5      [        R                  S9/n[        R                  " U5      U	l         U	R                  USS/S9  [        R                  " [        SS9   U R                  USS/SS9n
S S S 5        [        R                  " U	W
SS9  U	R                  U5        U R                  US S9n
[        U
R                   5      [        U	R                   5      S-   :X  d   eU	R                  USS9  U R                  US S9n
[        R"                  " U
R$                  UR$                  5        XBl         S S S 5        [        R                  " S5       nS+S jn['        [        R(                  " S5      [        R                  " [+        S5       VVs/ s H"  n[+        S5       Vs/ s H  nSU 3PM
     snPM$     snn[-        S5      S9[        R                  " [+        S5       VVs/ s H"  n[+        S5       Vs/ s H  nSU 3PM
     snPM$     snn[-        S 5      S9S!9nUR                  U5        [        U/ S"QSS/S#9n[        R                  " X5        ['        [        R(                  " S5      [        R                  " [+        S5       VVs/ s H"  n[+        S5       Vs/ s H  nSU 3PM
     snPM$     snn[-        S5      S9S9nUR                  U5        [        U/ S"QSS#9n[        R                  " X5        ['        [        R(                  " S5      [        R                  " [+        S5       VVs/ s H"  n[+        S5       Vs/ s H  nSU 3PM
     snPM$     snn[-        S5      S9[        R                  " [+        S5       VVs/ s H"  n[+        S5       Vs/ s H  nSU 3PM
     snPM$     snn[-        S$5      S9S!9nUR                  U5        [        U/ S"Q/ S%QS#9n[        R                  " X5        U" 5       nUR                  USS9  [        USS/S	9n[        R                  " X5        U" S5      nUR                  USS9  [        USS/S	9n[.        R0                  " UR                   R                  6 (       d   eUR                   R                  UR                   l        [        R                  " X5        U" 5       nUR                  U5        [        USS/S/S#9n[        R                  " X5        U" S5      nUR                  U5        [        USS/S/S#9n[        R                  " X5        U" S5      nUR                  U5        S& HH  nS'U S(3n[2        R4                  " [6        US9   [        U[-        [+        U5      5      SS#9  S S S 5        MJ     S)n[2        R4                  " [8        US9   UR                  USS*/S9  S S S 5        S S S 5        [        R                  " S5       nW	S S R                  U5        U R                  U5      n
U	S S n/ Ul         [        R:                  " U
R                   UR                   5        [        U
5      S:X  d   e S S S 5        g ! , (       d  f       GN= f! , (       d  f       GNT= fs  snf s  snnf s  snf s  snnf s  snf s  snnf s  snf s  snnf s  snf s  snnf ! , (       d  f       GM  = f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       g = f),Nr1   r/   firstsecondnames__tmp_to_csv_multiindex__Fr%   r!   r"   r#   r   r-   r,   rU   timefoor*   zCould not infer formatr[   Trq   r'   c                     U SL a  SS/n [        [        R                  R                  S5      R	                  SSSS9[
        R                  " / S	QU S
9SS9$ )NTr^  r_  r1   r   r   rK   )size))bahrd  )rg  bar)banbazr`  rB   r$   r0   )r   r6   r]   r^   r   r   r`   r`  s    r   _make_frame>TestDataFrameToCSV.test_to_csv_multiindex.<locals>._make_frameI  s]    D=$h/E II))!,55a&5I&22HPU " r   r    r.   r   r.   r   r   r    r  r  )r   r-   r1   r.   )r&   r   abcrT   )rA  rD  zlen of z, but only 5 lines in filez%cannot specify cols with a MultiIndexrh  r   )r(   r6   rA   r=   rB   reshaper   r   r4   r5   r:   r   r<   ra  assert_produces_warningUserWarningr$   r>   r?   r   r   r@   r   comall_nonerb   rc   r   	TypeErrorassert_index_equal)r   rC   rD   frame	old_indexarrays	new_indexr   re   tsframerE   rl  r  r   rf   rk   exps                    r   test_to_csv_multiindex)TestDataFrameToCSV.test_to_csv_multiindex  s   KK	3y>A-RXX>FFq"M**6'89LM	__89TLLeL,LLSzL2 LLt1v5IB !!%?;;$$666 !* %GI"BIIc)nBHH$MNI&229=GMNN4fe_N=++#; t1v4P !!'6uE NN4 ]]44]8Fv~~&#goo*>*BBBB NN4uN-]]44]8F""6==.2G2GH $- U :X __89T	 "..;@8D8aa111#h18DDQWL !,,;@8D8aa111#h18DDQUJB IIdOd<Aq6JF!!"- "..;@8D8aa111#h18DDQWLB IIdOd<1EF!!"- "..;@8D8aa111#h18DDQWL !,,;@8D8aa111#h18DDQVKB IIdOd<9MF!!"- BIId%I(dAq62F!!"- T"BIId%I(dAq62F<<!5!5666#%::#3#3FNN !!"- BIIdOdAq6aSAF!!"-T"BIIdOdAq6aSAF!!"- T"BIIdOs"<=]];c:T$uQx.AF ;:  :Cy4		$	7 5s :x __89TBQKt$]]4(F"1+CCI!!&..#++>v;!### :9c / :9| 2D 2D 2D 2D 2DL ;:
 54s :9x :9s&  D^7^%)C^7>`%__	(_/-`%_/_>_B `%_$_'_$.A>`%,_/?_*_/-`%_:_5$_:+G`%/` '`%4``%-A.`7%
^4	/^77
_	_`%_`%_$$`%*_//`%5_::`% 
`
	`%
`"	`%%
`47
ac                    [        [        S5      [        S5      S.[        R                  " SS5      S9n[
        R                  " S5       nUR                  U5        U R                  USS9nUR                  5       nU(       a!  UR                  R                  S5      Ul
        O$UR                  R                  [        5      Ul
        [
        R                  " XE5        S S S 5        g ! , (       d  f       g = f)	Nro  r.   r!   r"   r   r'   z!__tmp_to_csv_interval_index__.csvrq   zstring[pyarrow_numpy])r   r   r@   rr   interval_ranger4   r5   r:   r   ra   r(   astyper   r<   )r   using_infer_stringre   r   rf   r   s         r   test_to_csv_interval_index-TestDataFrameToCSV.test_to_csv_interval_index  s    T%[uQx8@Q@QRSUV@WX__@ATIIdO]]41]5F wwyH!!)!6!67N!O!)!6!6s!;!!&3 BAAs   BC((
C6c                    [        [        R                  R                  S5      R	                  S5      R                  [        R                  5      5      n[        R                  US'   [        R                  " S5       nUR                  USS9  [        USS9 nUR                  5       nUS   R                  S	5      S   S
:X  d   e S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr1   )r-   r   r-   z!__tmp_to_csv_float32_nanrep__.csvi  )na_reputf-8r   ,999)r   r6   r]   r^   r_   r  float32r7   r4   r5   r:   open	readlinessplit)r   re   r   r   liness        r   test_to_csv_float32_nanrep-TestDataFrameToCSV.test_to_csv_float32_nanrep  s    II!!!$44V<CCBJJO
 1__@ATIId3I'dW-Qx~~c*1-666 . BA .- BAs$   >C*.CC*
C'	#C**
C8c                     [        / SQ/ SQS.5      n[        R                  " S5       nUR                  U5        U R	                  U5      n[        R
                  " X15        S S S 5        g ! , (       d  f       g = f)Nr?  )z5,6z7,8z9,0r  z__tmp_to_csv_withcommas__.csvr   r4   r5   r:   r   r<   r   re   r   rv   s       r   test_to_csv_withcommas)TestDataFrameToCSV.test_to_csv_withcommas  sT    Y-BCD__<=IIdO--%C!!#* >==s   9A++
A9c           	      ,   S n[        [        R                  R                  S5      R	                  S5      SU" S5      S9n[        [        R                  R                  S5      R	                  S5      R                  S5      SU" S5      S9n[        S	UR                  U" S
5      S9n[        SUR                  U" S5      S9n[        [        S5      R                  S5      UR                  U" S5      S9n[        R                  UR                  SS2SS24'   [        R                  UR                  SS2SS24'   [        R                  " X#XEU/SS9n0 nS[        R                  4S[        R                  4S
[        R                  4S[         44 H  u  pU" U	5       H  nXU'   M	     M     ["        R$                  " 5        nUR'                  U5        [)        USX" S5      S9n["        R*                  " X5        S S S 5        g ! , (       d  f       g = f)Nc                 L    [        S5       Vs/ s H	  o US 3PM     sn$ s  snf )Nr    03dr$  )r   r   s     r   create_cols9TestDataFrameToCSV.test_to_csv_mixed.<locals>.create_cols  s'    .3Ah7hfQsG$h777s   !r1   )r   r    float64float)r0   r$   rB   rt   TboolrR   rd  r   20010101nsdate   2   r-   r.   )axisr   )r   r0   r)   )r   r6   r]   r^   r_   r  r(   r
   as_unitr7   r8   rr   rs   r  rB   bool_r   r4   r5   r:   r   r<   )r   r  df_floatdf_intdf_bool	df_objectdf_dtre   dtypesr   r0   r   filenameri   s                 r   test_to_csv_mixed$TestDataFrameToCSV.test_to_csv_mixed  s   	8 II!!!$44X>(

 II!!!$44X>EEgN&

 DF@STX1F
	 j!))$/..'
 %'FFbeQqSj!!#

2b5!A#:YY'eD1M bjj!BHHRXXv	
HA !^!q	 $
 __(IIhAVVATB !!") s   9H
Hc           	         [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        [        S5      5      -   SS9n[        R                  " 5        nUR                  U5        [        USS9nUR                  Ul        [        R                  " X15        S S S 5        [        [        R                  R                  S5      R	                  S5      SS	9n[        [        R                  R                  S5      R	                  S5      5      R                  S
5      n[        SUR                  [        S5      S9n[        SUR                  [        S5      S9n[        [        S5      R!                  S5      UR                  [        S5      S9n["        R$                  " XEXgU/SSS9n/ SQS-  Ul        [        R                  " 5        nUR                  U5        [        USS9nS H  n	['        X9   5      X9'   M     UR                  Ul        [        R                  " X15        S S S 5        g ! , (       d  f       GN= f! , (       d  f       g = f)Nr1   )r   r     r  rk  r   rq   )r   r.   r/   rB   Tr.   rR   rd  r  r  r-   )r  ignore_indexrT   r    )z0.4z1.4z2.4)r   r6   r]   r^   r_   r   r@   r4   r5   r:   r   r$   r<   r  r(   r
   r  rr   rs   r   )
r   re   r  rf   r  r  r  r  r  r   s
             r   test_to_csv_dups_cols(TestDataFrameToCSV.test_to_csv_dups_cols  s   II!!!$44Z@rOd59o5
 __(IIhh!4FZZFN!!&-	  II!!!$44Y?y
 299003CCINOVV
 DaIe8>>58L	j!))$/x~~uUVx
 YYw59PT
 ]
__(IIhh!4F +'	2	 +  ZZFN!!&- / . s   4AI'AI
I
I+c           
         [        [        R                  " S5      [        [	        S5       Vs/ s H  nSU 3PM
     snSS9[        / SQ[
        S9S9n[        R                  " 5        nUR                  U5        [        US	S
9nUR                  SS0S9n[        R                  " XB5        S S S 5        g s  snf ! , (       d  f       g = f)Nrn  r    r   rd  r   rL   r/   rR   r   rq   za.1rM   r#   )r   r6   r   r   r@   r   r4   r5   r:   r   renamer<   )r   r   re   r  rf   s        r   test_to_csv_dups_cols2)TestDataFrameToCSV.test_to_csv_dups_cols2-  s    GGFO5848a2aS845A/8
 __(IIh h!4F]]E3<]8F!!&- 	 5 s   B4(AB99
Cr   )i'  iP  順 c                 X   [        S[        S5      05      nUR                  S-   US'   UR                  S-   US'   UR                  S-   US'   [        R                  " 5        nUR                  X1S	9  [        US
S9n[        R                  " XB5        S S S 5        g ! , (       d  f       g = f)Nr!   r        ?r"   g       @r   g      @r  r   r   rq   )r   r@   r!   r4   r5   r:   r   r<   )r   r   rL  r  ri   s        r   test_to_csv_chunking'TestDataFrameToCSV.test_to_csv_chunking=  s    U6]+,$$*3$$*3$$*3__(IIhI4(a0B!!") s   "0B
B)c                    Sn[        [        R                  R                  S5      R	                  SUS-   45      S S S9n[
        R                  " 5        nUR                  5        nUR                  SU5        UR                  USSS9  S S S 5        [        US S	9nS S S 5        [
        R                  " WU5        g ! , (       d  f       N8= f! , (       d  f       N7= f)
Nr   r1   r-   r   r  z/pandas.io.formats.csvs._DEFAULT_CHUNKSIZE_CELLSF)r&   r(   r%   )r   r6   r]   r^   r_   r4   r5   contextsetattrr:   r   r<   )r   monkeypatchr   re   r  mri   s          r   !test_to_csv_wide_frame_formatting4TestDataFrameToCSV.test_to_csv_wide_frame_formattingI  s     	II!!!$44aR5HI

 __($$&!		KYW		(5	> ' (40B	 
 	b"%	 '& s$   C%$B;	C;
C		C
Cc                 0   [        S5      nU R                  US S9n[        SX"R                  S      05      n[        R
                  " 5        nUR                  U5        [        USS9n[        R                  " XSSS9  S S S 5        g ! , (       d  f       g = f)Nza,1.0
b,2.0r%   tr   rq   FrU   )r   r   r   r$   r4   r5   r:   r<   )r   f1re   newdfr   rE   s         r   test_to_csv_bug"TestDataFrameToCSV.test_to_csv_bugY  sx    n%]]2d]+3::a= 123__$LLda0F!!&UC s   1B
Bc                 F   [        S/ SQ05      n[        R                  " 5        nUR                  USS9  [	        USSS9n[        R
                  " X5        UR                  USSS9  [	        US SS9n[        R
                  " X5        S S S 5        g ! , (       d  f       g = f)	Nu   c/σr?  UTF-8r  r   r   r   Fr   r(   r  r  s       r   test_to_csv_unicode&TestDataFrameToCSV.test_to_csv_unicodee  s    
I./__$IIdWI-41w?C!!"*IIdWEI:44'BC!!"* s   A$B
B c                     [        S5      n[        / SQ/ SQ// SQSS/S9nUR                  USS	9  UR                  S
5        [	        US
SS9n[
        R                  " X#5        g )N )   אd2d3d4)a1a2a3a4)r     בu   גu   דr  r  r  r  r  r   r  )r   r   r:   seekr   r4   r<   )r   bufre   rv   s       r   test_to_csv_unicode_index_col0TestDataFrameToCSV.test_to_csv_unicode_index_colp  sb    rl)+CD<X&
 			#	(sa':
b&r   c                     [        5       nUR                  U5        UR                  S5        [        USS9n[        R
                  " X15        g )Nr   rq   )r   r:   r  r   r4   r<   )r   rC   r  rE   s       r   test_to_csv_stringio'TestDataFrameToCSV.test_to_csv_stringio~  s<    j3#+
f2r   c                    [        / SQ/ SQ/SS// SQS9n[        R                  " 5        nUR                  USS9  [	        US	S
9n[        / SQ/ SQ/SS// SQS9n[        R
                  " X45        S S S 5        g ! , (       d  f       g = f)Ng~Ϛ?g9DܜJ?g>D)?g.4i(@33333@̤Ar!   r"   rX   rY   rZ   rR   z%.2f)float_formatr   rq   )gQ?gq=
ףp?g=
ףp=?)gp=
ף(@r  r  r  )r   re   r  ri   rj   s        r   test_to_csv_float_format+TestDataFrameToCSV.test_to_csv_float_format  s    +-KL*#
 __(IIhVI4(a0B#%BCCj'B
 !!") s   AA::
Bc                     [        SSS/05      nUR                  SS SS9n/ SQn[        R                  " U5      nX$:X  d   eg )	NrM   r1  r  r  c                 ,    [         R                  " U SS9$ )N-)trim)r6   format_float_positionalr   s    r   r   JTestDataFrameToCSV.test_to_csv_float_format_over_decimal.<locals>.<lambda>  s    2#=#=ac#Jr   F)decimalr  r(   )rM   z0.51)r   r:   r4   convert_rows_list_to_csv_strr   re   rf   expected_rowsr   s        r   %test_to_csv_float_format_over_decimal8TestDataFrameToCSV.test_to_csv_float_format_over_decimal  sT    c3Z()J  

 *22=A!!!r   c                     [        / SQ/ SQS.5      n[        5       nUR                  US[        R                  SS9  UR                  5       n/ SQn[        R                  " U5      nX5:X  d   eg )Nr?  )rd  rh  rj  r  Fr  )r(   quotingr   )z"A","B"z1,"foo"z2,"bar"z3,"baz")r   r   r:   csvQUOTE_NONNUMERICgetvaluer4   r  )r   re   r  rf   r  r   s         r   !test_to_csv_unicodewriter_quoting4TestDataFrameToCSV.test_to_csv_unicodewriter_quoting  s_    Y-BCDj
		#UC,@,@7	SD22=A!!!r   r   r  c                     [        SSS/05      n[        5       nUR                  U[        R                  USS9  UR                  5       n/ SQn[        R                  " U5      nXF:X  d   eg )Nr!   hello	{"hello"}F)r  r   r(   )r!   r  r  )r   r   r:   r  
QUOTE_NONEr  r4   r  )r   r   re   r  rf   r  r   s          r   test_to_csv_quote_none)TestDataFrameToCSV.test_to_csv_quote_none  sc     g{345j
		#s~~	N322=A!!!r   c                     [        / SQ/ SQS./ SQS9n[        5       nUR                  USS9  / SQn[        R                  " U5      nUR                  5       U:X  d   eg )	Nr?  r@  r  onetwothreer'   Fr*   )zA,Bzone,1,4ztwo,2,5z	three,3,6)r   r   r:   r4   r  r  )r   re   r  r  r   s        r   "test_to_csv_index_no_leading_comma5TestDataFrameToCSV.test_to_csv_index_no_leading_comma  sT    YY7?VWj
		#5	)B22=A||~)))r   c                    [        / SQ/ SQS./ SQS9n[        R                  " 5        nUR                  USS9  Sn[	        US	S
9 nUR                  5       U:X  d   e S S S 5        S S S 5        [        R                  " 5        nUR                  USS9  Sn[	        US	S
9 nUR                  5       U:X  d   e S S S 5        S S S 5        [        R                  " 5        nUR                  U5        [        R                  R                  S5      nSU-   S-   U-   S-   U-   S-   U-   n[	        US	S
9 nUR                  5       U:X  d   e S S S 5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N]= f! , (       d  f       g = f)Nr?  r@  r  r  r'   
lineterminators#   ,A,B
one,1,4
two,2,5
three,3,6
rb)rp   
s   ,A,B
one,1,4
two,2,5
three,3,6
r  s   ,A,Bs   one,1,4s   two,2,5s	   three,3,6)	r   r4   r5   r:   r  readoslinesepencode)r   re   r   r   r   
os_lineseps         r   test_to_csv_lineterminators.TestDataFrameToCSV.test_to_csv_lineterminators  s   YY7?VW__$IId6I2EHd&!vvx8+++ '  __$IId4I0=Hd&!vvx8+++ '  __$IIdO**73J  	
     d&!vvx8+++ '  '&  '& . '& sl   E*EE*F E<8FAF//FF/
E'	"E**
E9<
F
	F
F
F,	(F//
F=c                    [        [        R                  " / SQ5      5      n[        / SQ5      n[        5       nUR	                  USS9  [        5       nUR	                  USS9  UR                  5       UR                  5       :X  d   e[        SU05      n[        SU05      n[        5       nUR	                  U5        [        5       nUR	                  U5        UR                  5       UR                  5       :X  d   eg )N)rM   rN   rN   rM   rM   r   r   r   Fr%   r   )r	   rr   Categoricalr   r:   r  r   )r   r   r3   resr|  re   rv   s          r    test_to_csv_from_csv_categorical3TestDataFrameToCSV.test_to_csv_from_csv_categorical  s     2>>"JKL<=j	U#j
		#e	$||~///Qx b	"j
		#j

3||~///r   c                     UR                  S S9n[        U[        5      (       d   e[        [	        U5      SS9n[
        R                  " X5        g )N)path_or_bufr   rq   )r:   r   r   r   r   r4   r<   )r   rC   csv_strrE   s       r   test_to_csv_path_is_none+TestDataFrameToCSV.test_to_csv_path_is_none  sI     $$$6'3''''(7+q9
k2r   zdf,encodingr  r  r!   r"   r  rR   )ro  defghir#   asciir    ){   u   你好u   世界gb2312)r(  u   Γειά σουu
   Κόσμεcp737c                 d   [         R                  " 5        nUR                  XCUS9  [        XCSUS9n[         R                  " X5        [        USX2S9 nUR                  UR                  US9  UR                  R                  (       a   e S S S 5        [        UUUSS9R                  S5      n[         R                  " X5        [         R                  " XC5       nUR                  5       R                  U=(       d    S5      nUR                   H
  n	X;   a  M
   e   S S S 5        [         R                  " XC5       n[         R                  " U[        USUS	95        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       Ng= f! , (       d  f       N9= f! , (       d  f       g = f)
N)compressionr   r   )r,  r   r   wr  )r,  r   r   r$   r   r  )r4   r5   r:   r   r<   r   handleclosedsqueezedecompress_filer  r   r$   )
r   re   r   r,  r  rf   handlesfhtextcols
             r   test_to_csv_compression*TestDataFrameToCSV.test_to_csv_compression  sc   0 __(IIh(IKQF !!"- #;		'..8	<">>00000	 '!	
 gi   !!"- ##H:bwwy''(:F;::C;&; & ;
 ##H:b%%b(2X*VW ;;   ;:
 ;:; sZ   =F!8E.AF!;E?E?F!<!FF!.
E<	8F!?
F		F!
F	F!!
F/c                    [         R                  " S5       nUR                  n[        X3R	                  S5      S.US9nUR                  USS9  [        USS9nUR                  S	 5      nUR                  R                  S
 5      Ul        [         R                  " XE5        UR                  USS9  [        USS9nUR                  S 5      nUR                  R                  S 5      Ul        [         R                  " XF5        UR                  nUR                  USS9  [        USS9nUR                  S 5      nUR                  R                  S 5      Ul
        [         R                  " XG5        [        S/S-  / SQ-   5      n[        SU0US9n	U	R                  USS9  [        USS/SS9n[         R                  " XI5        S S S 5        g ! , (       d  f       g = f)N__tmp_to_csv_date_format__r-   r  r'   %Y%m%ddate_formatr   rq   c                 6    [        U R                  S5      5      $ Nr:  rt   strftimer   s    r   r   <TestDataFrameToCSV.test_to_csv_date_format.<locals>.<lambda>N  s    c!**XBV>Wr   c                 6    [        U R                  S5      5      $ r>  r?  r   s    r   r   rA  P      #ajj23r   %Y-%m-%dc                 $    U R                  S5      $ NrD  r@  r   s    r   r   rA  Y  s    ajj>Tr   c                 $    U R                  S5      $ rF  rG  r   s    r   r   rA  [  s    !**Z0r   c                 6    [        U R                  S5      5      $ r>  r?  r   s    r   r   rA  g  rC  r   c                 $    U R                  S5      $ r>  rG  r   s    r   r   rA  k  s    !**X.r   r   r   )
2000-01-01rK  rK  r!   )r)   r   )r4   r5   r(   r   shiftr:   r   r   r<   Tr$   r   )
r   rD   r   r~   rP  datetime_frame_intdatetime_frame_strdatetime_frame_columns	nat_index	nat_frames
             r   test_to_csv_date_format*TestDataFrameToCSV.test_to_csv_date_formatC  s   __9:d%++H&^^A%67xN !!$H!= DA.D!/!3!34W!X'9'?'?'C'C3($ !!$;!!$J!? DA.D!/!3!34T!U'9'?'?'C'C0($ !!$; &4%5%5""))$H)EDA.D%;%?%?3&" .D-K-K-O-O.."* !!$? $"III "3	"2)DITz:Dq!fBD!!$2k ;::s   F0G
Gtdr   10sc           	         [         R                  " S5       n[        SSSSSS9nX1-   nUR                  S 5      n[        R
                  " [        [        U5      5      SS	9n[        S
U0US9nUR                  USS9  [        USS9n[        UR                  SS9R                  S5      Ul        [         R                  " Xv5        S S S 5        g ! , (       d  f       g = f)Ncsv_date_format_with_dstz2013-10-26 23:00z2013-10-27 01:00zEurope/Londonr4  infer)r   r   	ambiguousrB   r/   r!   r'   Tr   rq   utc)r4   r5   r   r;   r6   r   r@   r=   r   r:   r   r   r(   r   r<   )r   rU  r   timesr   
time_rangere   rf   s           r    test_to_csv_with_dst_transitions3TestDataFrameToCSV.test_to_csv_with_dst_transitions{  s    __78D"""!E 
AT"A%A-w?JC,A6BIId$I' da0F&v||>IIFL !!&-) 988s   B.C
Cc                    [        SSSSS9nUR                  S 5      nS UR                  l        [	        SUS.US9n[
        R                  " S	5       nUR                  US
S9  [        USS9n[        UR                  S
S9R                  S5      Ul
        [        US   S
S9R                  S5      US'   [
        R                  " XB5        S S S 5        UR                  [        5        [
        R                  " S	5       nUR                  U5        [         R"                  " U5      n[
        R                  " XB5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nz
2015-01-01z
2015-12-31r4  zEurope/Paris)r   r   r-   )r?   idxr'   rX  Tr   rq   r[  rb  zdatetime64[ns, Europe/Paris])r   r;   _data_freqr   r4   r5   r:   r   r   r(   r   r  r<   r   	to_picklerr   read_pickle)r   rb  re   r   rf   s        r   ,test_to_csv_with_dst_transitions_with_pickle?TestDataFrameToCSV.test_to_csv_with_dst_transitions_with_pickle  s   |#.QnnT"		!C0<__78DIId$I'da0F&v||>IIFL (u4@GG.F5M !!&- 9 			#__78DLL^^D)F!!&- 98 98 98s   A8E=>E
E
E#c                 H   [        SS/SS/S[        R                  /SS/S.5      n/ S	Qn[        R                  " U5      nUR                  5       nXC:X  d   eUR                  S S
9nXC:X  d   e/ S	Qn[        R                  " U5      nUR                  [        R                  S
9nXC:X  d   e/ SQn[        R                  " U5      nUR                  [        R                  S
9nXC:X  d   e/ SQn[        R                  " U5      nUR                  [        R                  S
9nXC:X  d   eSn[        R                  " [        R                  US9   UR                  [        R                  S
9  S S S 5        [        R                  " [        R                  US9   UR                  [        R                  S S9  S S S 5        / SQn[        R                  " U5      nUR                  [        R                  SS9nXC:X  d   e/ SQn[        R                  " U5      nUR                  [        R                  SS9nXC:X  d   eSS/n[        R                  " U5      n[        [        U5      5      n[        5       nUR                  USSS9  UR!                  5       U:X  d   e[        SS/SS/SS/S.5      nUR#                  SS/5      n/ S Qn[        R                  " U5      nUR                  [        R                  S
9U:X  d   eg ! , (       d  f       GN= f! , (       d  f       GNd= f)!NTFr  g	@*   rM   zb,c)c_boolc_floatc_intc_string),c_bool,c_float,c_int,c_string0,True,1.0,42.0,az1,False,3.2,,"b,c")r  )("","c_bool","c_float","c_int","c_string"z"0","True","1.0","42.0","a"z"1","False","3.2","","b,c")rq  z0,True,1.0,42.0,"a"z1,False,3.2,"","b,c"z%need to escape, but no escapechar setr[   )r  
escapechar)ro  rp  z1,False,3.2,,b!,c!)z,c_bool,c_ffloat,c_int,c_stringrp  z1,False,3.2,,bf,cr   za,b,cz1,"test 
",3r  r  r-   r1   r.   r   r    rA  rK  rN   )z"a","b","c"z"1","3","5"z"2","4","6")r   r6   r7   r4   r  r:   r  QUOTE_MINIMAL	QUOTE_ALLr  rb   rc   Errorr  r   r   r  	set_index)	r   re   r  r   rf   rk   	text_rowsr4  r  s	            r   test_to_csv_quoting&TestDataFrameToCSV.test_to_csv_quoting  s   -:bff %L	


 22=A!!!4(!!!

 22=A3#4#45!!!

 22=A3==1!!!

 22=A3#7#78!!!5]]399C0IIcnnI- 1 ]]399C0IIcnnI> 1

 22=A3>>cB!!!

 22=A3>>cB!!! /0	..y9htn%j
		#u	5||~%%% aV1a&1v>?\\3*%E22=Ayyy/8;;;S 10 10s   L L 
L
L!c                    / SQn[         R                  " USS9n[        / SQUS9nUR                  5       n/ SQn[        R
                  " U5      nXF:X  d   eSnUR                  US9n/ S	Qn[        R
                  " U5      nXF:X  d   eS
[        S/n[         R                  " USS9n[        / SQUS9nUR                  5       n/ SQn[        R
                  " U5      nXF:X  d   eg )N)
1990-01-01rK  
3005-01-01r  )r   r@  r'   ),01990-01-01,4z2000-01-01,53005-01-01,6z%m-%d-%Yr;  )r~  z01-01-1990,4z01-01-2000,5z01-01-3005,6r|  r}  )r~  r  z,5r  )rr   PeriodIndexr   r:   r4   r  r   )r   datesr(   re   rf   r  r   r<  s           r   test_period_index_date_overflow2TestDataFrameToCSV.test_period_index_date_overflow  s     ;u3/y.N22=A!!! {3N22=A!!! sL1u3/y.D22=A!!!r   c                     [         R                  " / SQ5      n[        / SQ/ SQ/5      nXl        / SQnUR	                  US9n/ SQn[
        R                  " U5      nXF:X  d   eg )N))rM   r-   )rM   r1   )rN   r-   )rN   r1   r   )r    rA  rD  rE  )rM   rN   r   dr%   )z,a,b,c,dz	0,1,2,3,4z	1,5,6,7,8)r   r`   r   r$   r:   r4   r  )r   r$   re   r&   rf   r  r   s          r   test_multi_index_header*TestDataFrameToCSV.test_multi_index_header-  s]    (()QRl34
%&)>22=A!!!r   c                     [        / SQ5      n[        / SQ/US9nUR                  SS/S9nSnUR                  SS9n[        R
                  " XC5        g )	N)r-   )r1   r.   r?  r#   r  r  z,1,3
0,1,3
r  r  )r   r   reindexr:   r4   r>   )r   r(   re   r   rf   s        r   $test_to_csv_single_level_multi_index7TestDataFrameToCSV.test_to_csv_single_level_multi_index:  sR    ()	{E2ZZtZ-"$/
v0r   c                    [        SSS/05      n/ SQn[        R                  " U5      n[        R                  " S5       nUR	                  USS9  [        R
                  " USS	9 nUR                  5       R                  S
5      nS S S 5        S S S 5        WU:X  d   eg ! , (       d  f       N= f! , (       d  f       N(= f)NrM   r-   r1   )rM   r  2z__test_gz_lineend.csv.gzFr'   gzip)r,  r  )r   r4   r  r5   r:   r1  r  r   )r   re   r  r   r   r   rf   s          r   test_gz_lineend"TestDataFrameToCSV.test_gz_lineendC  s    aV}%'22=A__78DIId%I(##Df=1 > 9
 !!! >= 98s$    &B0& BB0
B-	)B00
B>c                     [        S[        SSS905      n[        5       nUR                  U5        UR	                  5       nSU;   d   eg )NrM   z1/1/2000r   r   rK  )r   r   r   r:   r  )r   rw  r  rf   s       r   test_to_csv_numpy_16_bug+TestDataFrameToCSV.test_to_csv_numpy_16_bugO  sD    3
:r BCDjSv%%%r   c                 p    [        S S /5      R                  S SSSS9R                  SS5      nSnX:X  d   eg )NFr  )r&   r(   r  r  r  z""
""
)r   r:   replace)r   rf   r   s      r   test_to_csv_na_quoting)TestDataFrameToCSV.test_to_csv_na_quotingX  sF     tTl#VDeBV?WVT" 	
 !!!r   c                     [        SS[        R                  /S.5      nUS   R                  S5      US'   US   R                  S5      US'   UR	                  5       n/ SQn[
        R                  " U5      nX$:X  d   eg )NrO   r-   r   rN   Int16category)z,a,bz0,x,1z1,x,)r   rr   NAr  r:   r4   r  r  s        r   test_to_csv_categorical_and_ea1TestDataFrameToCSV.test_to_csv_categorical_and_eac  sq    S255z23S'..)3S'..,3122=A!!!r   c           	          [        S[        R                  " [        S5      [        S5      SS9/05      nUS   R	                  S5      US'   UR                  5       nSS/n[        R                  " U5      nX$:X  d   eg )	NrM   r   z
2020-01-02both)r/  r  z,az.0,"[2020-01-01 00:00:00, 2020-01-02 00:00:00]")r   rr   Intervalr
   r  r:   r4   r  r  s        r   $test_to_csv_categorical_and_interval7TestDataFrameToCSV.test_to_csv_categorical_and_intervalm  s    KK!,/!,/%

 S'..,3OP22=A!!!r   r   )NNNNF)E__name__
__module____qualname____firstlineno__r   rG   rl   rx   r   r   r   rb   markparametrizer   slowr   r   r   filterwarningsr	  r  r  r  r  r,  r6  r;  rH  rQ  rZ  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r#  r   r6  rS  rr   r   r_  rg  ry  r  r  r  r  r  r  r  r  __static_attributes__r   r   r   r   r      s   ($.L"=H*E :A& [[VdS#J%78"C 9"CH [[A A: gR [[[[SC C [[[[S [[ "S [[Wl3[[ VWC X 4 C( [[[[T [[Wl3C 4 
C [[[[W&ABC C C$ [[I I
 [[	C 	C [[[[S [[Wi0[[ q!GQ<0q!GQ<0 15Q7OP	
C 1 C(K
K
.@1$X$t4"7+.*`'.R.  [[[*@A	* B	* [[& &
D	+'3*$
"	" [[Z$9	" :	"*$,L003 [[ 35ST*+
  -.H'Rq566PRZ[?@@+ 	
.X/.XB63p [[TBLLOR\\%5H#IJ. K...2`<D">"1
"&	"""r   r   )r  ior   r  numpyr6   rb   pandas.errorsr   pandasrr   r   r   r   r   r	   r
   r   r   r   r   pandas._testing_testingr4   pandas.core.commoncorecommonrs  pandas.io.commonr   r   r   r   r   <module>r     sC    
  	   %         'a" a"r   