
    I jG                         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                      \ rS rS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     SsS 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 S0 r!S1 r"S2 r#S3 r$S4 r%S5 r&S6 r'\R                  R                  S7/ S8Q5      S9 5       r(\R                  R"                  S: 5       r)S; r*S< r+S= r,S> r-S? r.S@ r/SA r0\R                  R                  SBSSC/5      SD 5       r1SE r2SF r3SG r4SH r5SI r6SJ r7\R                  R                  SK\8" / SLQ/ SMQ/SNSO// SPQSQ9S4\8" / SRQ// SPQSS9ST4\8" SU/ SVQ/-  / SPQSS9SW4\8" SU/ SXQ/-  / SPQSS9SY4/5      SZ 5       r9S[ r:\R                  R                  S\\;Rx                  " S]5      R{                  S^5      \;Rx                  " S_5      /5      S` 5       r>\R                  R                  SaSbSc/SdSe//5      Sf 5       r?Sg r@Sh rASi rBSj rCSk rDSl rESm rFSn rGSo rHSp rISq rJSrrKg)t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       w/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/pandas/tests/frame/methods/test_to_csv.pyr   TestDataFrameToCSV.read_csv   s+    q!'''    c                    [        U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  g )N   ABcolumnsFheaderindex)strnpnanilocr#   get_locto_csv)r   	temp_filefloat_framer   s       r   test_to_csv_from_csv1(TestDataFrameToCSV.test_to_csv_from_csv1$   s    9~AC![0088==>4 4#s44.4u-r   c                 d   [        U5      nUR                  R                  S 5      Ul        UR                  U5        U R	                  USS9nUR                  5       nUR                  R                  S5      Ul        [        R                  " XT5        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        g )
NT)parse_datesusr'   index_labelr   r3      Fr&   )r(   r'   
_with_freqr-   r   copyas_unittmassert_frame_equallenr#   assert_almost_equalvalues)r   r.   datetime_framer   reconsexpecteds         r   test_to_csv_from_csv1_datetime1TestDataFrameToCSV.test_to_csv_from_csv1_datetime-   s	   9~  .33>>tDd#t6!&&(!//5
h/d8ttF6>>"c.*@*@&AA&EEEE 	d%0ttF
~44fmmDr   c                 n   [        U5      n[        [        [        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                  " X45        g )N   dtyper&      )s1s2)r(   r   r	   ranger)   arangeint64r-   r   r<   r=   )r   r.   r   dmrB   s        r   !test_to_csv_from_csv1_corner_case4TestDataFrameToCSV.test_to_csv_from_csv1_corner_caseB   s}    9~U1XRYYq-IJU1XRYYq-IJ
 			$t$
b)r   c                 T   [        U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                  " XT5        [        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                  " XTSS
9  [        / SQ5      nUR                  X7S9  U R                  U5      nUR                  5       n	Xyl        [        R                  " X5        Sn
[        R                   " ["        U
S9   UR                  USS/S9  S S S 5        g ! , (       d  f       g = f)NrJ   rG   rG   arV   b)xyzr'   r#   )r    r8   rJ   r\   )r!   r8   rJ   r   r8   rJ   Fr7   check_names)AAXYZr$   z Writing 4 cols but got 2 aliasesmatchr`   ra   )r(   r   r)   randomdefault_rngstandard_normalr-   r   r<   r=   r   from_tuplesr   r:   r#   pytestraises
ValueError)r   r.   r/   r   dfresultmidxcol_aliasesrsxpmsgs              r   test_to_csv_from_csv2(TestDataFrameToCSV.test_to_csv_from_csv2O   sS   9~II!!!$44V<!#

 			$t$
f)%%&MNII!!!$44V<#
 			$tyeL
fe< 1244]]4  

b%0]]:S1tT3K8 211s   =F
F'c                 h   [        U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                  " X4/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                  " XV5        g s  snf s  snf )NrJ   )rG   r8   rV   F)moder%   r   r   )r(   r   r)   rf   rg   rh   r-   pdconcatr   r#   intr<   r=   )r   r.   r   df1df2rr   rq   labels           r   test_to_csv_from_csv3(TestDataFrameToCSV.test_to_csv_from_csv3s   s    9~		--a0@@HI		--a0@@HI

4

4c%
0YYz"da(.0jj9jUc%jj9
.0jj9jUc%jj9

b% :9s   D*6D/c           
         [        U5      n[        R                  " SS9R                  S5      n[	        S[        S5       Vs/ s H  oDU-  PM	     sn0[        [        S5       Vs/ s H  oDU-  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                  " XVS
S9  g s  snf s  snf )Nr8   )secondsr4   dt_datarG   dt_indexnamer&   rx   T)check_index_type)r(   ry   	Timedeltar;   r   rM   r   r-   r   to_timedeltar'   r<   r=   )r   r.   r   dtirm   rn   s          r   test_to_csv_from_csv4(TestDataFrameToCSV.test_to_csv_from_csv4   s    9~\\!$,,T2q2AR23q2AR2D
 			$$*5v||4OOF9,=>y
b4@ 32s   C-
%C2c                   ^^ [        U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'   TS   R                  R	                  S5      TS'   [
        R                  " TT5        g )Nr   r    r7   c                    > [        TU    5      R                  R                  S5      R                  R                  TU    R                  R                  5      R                  R	                  S5      $ )NUTCns)r   r   
tz_converttzr;   )crn   timezone_frames    r   <lambda>:TestDataFrameToCSV.test_to_csv_from_csv5.<locals>.<lambda>   sN    q	"R

5!R

>!,//223Rr   r!   Cr   )r(   r-   r   r   r;   r<   r=   )r   r.   r   r   	converterrn   s     `  @r   test_to_csv_from_csv5(TestDataFrameToCSV.test_to_csv_from_csv5   sy    9~d#$!#?
	  nsnsSknn,,T2s
fn5r   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[        U5      nUR                  XUS
9  [        US	S9n	[        R                  " XW   U	SS9  g s  snf s  snf )Nr         @rG   i-rV   r   r[   rJ   r   r#   	chunksizerx   Fr^   )r{   r   r)   onesr   rM   r#   r(   r-   r   r<   r=   )
r   r.   r   Nr   rm   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~9~
		$		:*
bh%@ 56s   C%Cr   NrW   rV   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[        U5      nUR                  XrU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Xk   nX   n[        U[        5      (       a  [        R                   " X5        M8  [        R"                  " XSS9  MO     g UR                  Ul	        [        R"                  " XhSS9  g s  snf )Nr   r   rG   r   rV   r   rU   r[   r   r   rx   Fr^   )r{   r   r)   r   r   rM   r(   r-   r   r#   	is_uniqueget_indexer_non_uniquetake
isinstancer	   r<   assert_series_equalr=   )r   r.   r   r   r   r   rm   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?#

 9~
		$		:* zz####%::#D#DT#J !zzw7ff--**6:))&eL  ::DL!!">7 5s   Ec                 f   SS jnSnU" US-   5      nU" US-   S5      n[        U5      n[        XES.5      nUR                  XcS9  U R                  U5      R	                  [
        5      nUS S  n	U	S   R                  S5      U	S'   U	S	   R                  S5      U	S	'   [        R                  " XS
S9  g )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periodsrJ   r   d   )	r{   listr   r)   rf   rg   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   rV   rW   r   rV   M8[us]rW   Fr^   N)	r(   r   r-   r   applyr   astyper<   r=   )
r   r.   r   r   rK   rL   r   rm   rn   rC   s
             r   test_to_csv_dtnat$TestDataFrameToCSV.test_to_csv_dtnat   s    
	 	IM*IM1-9~R)*
		$	,t$**;7a5 ,,X6 ,,X6
fEBr   c	           	         SS0n	U(       aV  Ub  [        [        U5      5      U	S'   [        [        U5      5      U	S'   UR                  USUS9  U R                  " U40 U	D6n
O)SU	S'   UR                  USUS9  U R                  " U40 U	D6n
S nU(       a  UR                  U
l        U(       a  U(       d  [        US	-
  5       Vs/ s H  oR
                  S S 2U4   R                  PM!     nn[        R                  " [        U
R                  5      /UQ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                  " U
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                  " U
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[        U
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                  " U
R                  US9U
l	        [        R                  " UR                  US9Ul	        U(       Ga  US:X  a{  Sn[        R                  " U
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                  " U
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[        U
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                  " U
R                  US9U
l        [        R                  " UR                  US9Ul        X4$ 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 )Nr3   Fr   r%   utf8)encodingr   r   c                 R    [        U [        5      (       d  U R                  S5      $ U $ )Nr   )r   r(   decoderX   s    r   _to_uni;TestDataFrameToCSV._return_result_expected.<locals>._to_uni  s#    a%%xx''Hr   r8   r   fO)r   r   r   ur   pr   rH   r   r   )r   rM   r-   r   r#   r+   r@   r   from_arraysr'   r)   arrayr
   r   mapto_timestampget)r   rm   r   r.   r_dtypec_dtypernlvlcnlvldupe_colr   rB   r   r   	delta_lvlixtype_mapr~   idx_listcol_lists                      r   _return_result_expected*TestDataFrameToCSV._return_result_expected   s     ' &*5<&8{##E%L1F8IIi&IIF]]977F F8IIi&IIF]]977F	
   ZZFN;@;KL;KaQT*11;KIL''fll);(Hi(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@
zG M ? ;
 A = = A =
 C ? = =sH   &U-U(U-U+U"=U'.U,)U1/U6-U;V Vnrows)rJ   
   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USS	5      u  pEUR                  R                  S
5      Ul        [        R                  " XESS9  g )N   
2020-01-01r   abcdrH   r[   r   r   r   r   Fr^   )r   r)   r   r   r   r   objectr   r'   r   r<   r=   )r   r   r.   rm   rn   rC   s         r   test_to_csv_nrows$TestDataFrameToCSV.test_to_csv_nrows_  sz    
 GGUAJ\59$v,f5

  77D)TSVW!..x8
fEBr   zr_idx_type, c_idx_type))r   r   )r   r   )r   r   )r   r   ncolsr8   rJ   rG   r   z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                    S S S S S.n[        [        R                  " X45      Xb   " U5      Xc   " U5      S9nU R                  USUUU5      u  pUS:X  a!  U	R                  R                  S	5      U	l        O&US
:X  a   U	R                  R                  S	5      U	l        US:X  a!  U	R                  R                  S	5      U	l        O&US
:X  a   U	R                  R                  S	5      U	l        [        R                  " XSS9  g )Nc                 Z    [        [        R                  " U 5      [        R                  S9$ )NrH   )r   r)   rN   rO   r   s    r   r   :TestDataFrameToCSV.test_to_csv_idx_types.<locals>.<lambda>x  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   rM   chr)r   r   s     r   r   r  y  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  z  s    J|Q?r   c                     [        SU SS9$ )Nr   D)r   r   )r   r  s    r   r   r  {  s    <acJr   )r   r   r   r   r[   r   r   r   r   Fr^   )	r   r)   r   r   r'   r   r#   r<   r=   )
r   r   
r_idx_type
c_idx_typer   r.   axesrm   rn   rC   s
             r   test_to_csv_idx_types(TestDataFrameToCSV.test_to_csv_idx_typesm  s     ?N?J	
 GGUN#"5)$U+

  77
 %^^228<HN3%^^228<HN'//66x@H3'//66x@H
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U5      u  pg[        R                  " XgSS9  g s  snf s  snf )Nr   rV   r   r[   r   Fr^   )r   r)   r   r   rM   r   r<   r=   )r   r   r   r.   r   rm   rn   rC   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)L
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 & Xdl        XTl        U R                  US
USS9u  px[        R                  " XxSS9  g s  snf s  snf )NrG   r   rV   r   r[   duperJ   rduper   T)r   Fr^   )r   r)   r   r   rM   r   r#   r'   r   r<   r=   )	r   r   r.   r   rm   r   r   rn   rC   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i$ 8 
 	fEB 96s   C(C-c                     [        [        R                  " S[        R                  S9S9nU R	                  USU5      u  p4[
        R                  " X4SS9  g )Nr   rH   r&   r   F)check_column_type)r   r)   rN   rO   r   r<   r=   )r   r.   rm   rn   rC   s        r   test_to_csv_empty$TestDataFrameToCSV.test_to_csv_empty  sB    RYYr:;77D)L
f%Hr   c                 F   SnUS-  S-   n[        [        R                  " US45      [        [	        S5      5      [
        R                  " [        S5       Vs/ s H  n[        U5      PM     sn5      S9nU R                  XRUSS9u  pg[        R                  " XgSS9  g s  snf )	Nr   rJ   r8   abr#   r'   )r   Fr^   )r   r)   r   r   r   r   r   rM   r   r<   r=   )r   r.   r   rowsr  rm   rn   rC   s           r   test_to_csv_chunksize(TestDataFrameToCSV.test_to_csv_chunksize  s    	A~!GGT1I$t*%((uQx)Hx!%+x)HI

  779A 8 
 	fEB *Is   B)rJ   rG   r   zdf_params, func_paramsr_idx_nlevelsrJ   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5      n[        [        R                  " TT45      XgS9n	U R                  " U	SU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rM   ).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[   r   Fr^   )r   r   r   rM   r   r   r)   r   r   r<   r=   )r   r   	df_paramsfunc_paramsr   r.   r'   r#   r   rm   rn   rC   s    `  `       r   test_to_csv_params%TestDataFrameToCSV.test_to_csv_params  s     ==))** +y9:+ E
 E==)) ,, -y9:- G
 uU|<|!r!X|<=Grwwu~.eM77i
#.
 	fEB =s   D c                 p   [         R                  US'   S nUR                  R                  U5      US'   [	        U5      nUR                  U5        U R                  U5      n[        R                  " X%5        [        R                  " [         R                  " U5      [         R                  " U5      5        g )NGc                     [         R                  [         R                  /[         R                  R	                  S5      R                  5       S:     $ )NrJ         ?)r)   infr*   rf   rg   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)
r)   r*   r'   r   r(   r-   r   r<   r=   isinf)r   r.   r/   r   r   rB   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9~4 t$
k2
bhh{3RXXf5EFr   c                 V   [         R                  US'   [         R                  * US'   [        U5      nUR                  U5        U R	                  U5      n[
        R                  " X$5        [
        R                  " [         R                  " U5      [         R                  " U5      5        g )NEF)r)   r6  r(   r-   r   r<   r=   r9  )r   r.   r/   r   rB   s        r   test_to_csv_from_csv_w_all_infs2TestDataFrameToCSV.test_to_csv_from_csv_w_all_infs  su    66CFF7C9~4 t$
k2
bhh{3RXXf5EFr   c                     [        U5      n[        / SQ/ SQS.5      nUR                  USS9  [        U5      n[        R
                  " X45        [        / SQSS9US	'   UR                  USS9  [        U5      n[        R
                  " X45        g )
Nr8   rJ   rG   r   r      )c1c2Fr&   )      	   rO   rH   c3)r(   r   r-   r   r<   r=   r	   )r   r.   r   rm   rn   s        r   test_to_csv_no_index'TestDataFrameToCSV.test_to_csv_no_index  sx    9~iy9:
		$e	$$
b))734
		$e	$$
b)r   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rV   rW   r   )aabbcc)r   r8   txttest)r   r8   rS  r"   )r   r-   )r   rm   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                 p   [        SS/SS//SS/S9n[        SS/SS//SS	/S9n[        U5      nUR                  USS	/S
9  U R                  U5      n[        R
                  " X55        UR                  USSS	/S9  U R                  U5      nUR                  SS9nUb   e[        R
                  " X55        g )Nr8   rJ   rG   r   r    r!   r"   ra   rb   r$   F)r'   r%   T)inplace)r   r(   r-   r   r<   r=   reset_index)r   r.   from_dfto_dfr   rB   return_values          r   test_to_csv_headers&TestDataFrameToCSV.test_to_csv_headers  s     aVaV,sCjAAq6Aq6*S#J?9~tS#J/t$
e,t5#s<t$))$)7###
e,r   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Xtl         [        U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                  " XISS9  UR                   R                  U	R                   R                  :X  d   eXRl         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        U
R!                  5       n[        R                  " UR#                  S5      US   /5      Ul         [        R                  " WU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        XSl         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[1        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[1        S 5      S9S!9n	U	R                  U5        [        U/ S"QSS/S#9n[        R                  " U	U5        [+        [        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[1        S5      S9S9n	U	R                  U5        [        U/ S"QSS#9n[        R                  " U	U5        [+        [        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[1        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[1        S$5      S9S!9n	U	R                  U5        [        U/ S"Q/ S%QS#9n[        R                  " U	U5        U" 5       n	U	R                  USS9  [        USS/S9n[        R                  " U	U5        U" S5      n	U	R                  USS9  [        USS/S9n[2        R4                  " UR$                  R                  6 (       d   eU	R$                  R                  UR$                  l        [        R                  " U	U5        U" 5       n	U	R                  U5        [        USS/S/S#9n[        R                  " U	U5        U" S5      n	U	R                  U5        [        USS/S/S#9n[        R                  " U	U5        U" S5      n	U	R                  U5        S& HH  nS'U S(3n[6        R8                  " [:        US9   [        U[1        [/        U5      5      SS#9  S S S 5        MJ     S)n[6        R8                  " [<        US9   U	R                  USS*/S9  S S S 5        U
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g ! , (       d  f       G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 s  snf s  snnf ! , (       d  f       GMI  = f! , (       d  f       N= f),NrJ   rH   firstsecondnamesFr$   r    r!   r"   r   r8   r7   r^   timefoor5   zCould not infer formatrd   Tr4   rx   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`  ra  rJ   r   r   rT   )size))bahre  )rh  bar)banbazrb  rO   r#   rI   )r   r)   rf   rg   r   r   ri   rb  s    r   _make_frame>TestDataFrameToCSV.test_to_csv_multiindex.<locals>._make_frame`  s\    } (+		%%a(11!Rf1E"..DE  r   r   rG   r   rG   r   r   r   r  r  )r   r8   rJ   rG   )r%   r   abcr]   )rD  rG  zlen of z, but only 5 lines in filez%cannot specify cols with a MultiIndexri  r   ) r'   r)   rN   r>   rO   reshaper   r   r(   r-   r   r<   r=   rc  assert_produces_warningUserWarningr:   r;   r#   r?   r@   r   r   rM   r   comall_nonerj   rk   r   	TypeErrorassert_index_equal)r   r.   r/   rA   frame	old_indexarrays	new_indexr   rm   tsframerB   rC   rm  r  r   rn   rs   exps                      r   test_to_csv_multiindex)TestDataFrameToCSV.test_to_csv_multiindex-  s   KK	3y>A-RXX>FFq"M**6'89LM	9~T%(TC:. 	T]]4Aq6u]E 	eU;{{  BHHNN222 & !MM			#i. IJ	"..y9t&%9'';ST]]4Aq6t]LF U <<>#//1B1B41H)TU,0WX
fhEB 	ttt46>>"c'//&:Q&>>>> 	t5)tt4
v}}n.C.CD  )		 GGFO**7<Qx@x!E!H-HqBqc(H-x@V ((7<Qx@x!E!H-HqBqc(H-x@T

 			))LQFK
b&) GGFO**7<Qx@x!E!H-HqBqc(H-x@V
 			))LAF
b&) GGFO**7<Qx@x!E!H-HqBqc(H-x@V ((7<Qx@x!E!H-HqBqc(H-x@U
 			))LIN
b&) ]
		)5	))QF3
b&) 
		)5	))QF3||V^^11222!zz//
b&) ]
		))QFqcB
b&)
		))QFqcB
b&) 
		)AA389C{#64a>QG 76  6]]9C0IIi%I8 1 	9%y)bqk	
fnnckk:6{am UTH .@ .@ .@ .@ .@L 76
 10s   	^^/-^*<^/0^:^5^:_-_ <___$__+_:_
_!_4
^'*^/5^: ___!
_1	4
`c                 P   [        [        S5      [        S5      S.[        R                  " SS5      S9n[        U5      nUR                  U5        U R                  USS9nUR                  5       nUR                  R                  S5      Ul	        [        R                  " XV5        g )Nrp  rG   r    r!   r   r&   rx   r(   )r   r   rM   ry   interval_ranger(   r-   r   r:   r'   r   r<   r=   )r   r.   using_infer_stringrm   r   rn   rC   s          r   test_to_csv_interval_index-TestDataFrameToCSV.test_to_csv_interval_index  s    T%[uQx8@Q@QRSUV@WX9~
		$tq1 779!..u5
f/r   c                    [        [        R                  R                  S5      R	                  S5      R                  [        R                  5      5      n[        R                  US'   [        U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        g ! , (       d  f       g = f)
NrJ   )r8   r   r8   i  )na_reputf-8r   ,999)r   r)   rf   rg   rh   r   float32r*   r(   r-   open	readlinessplit)r   r.   rm   r   r   liness         r   test_to_csv_float32_nanrep-TestDataFrameToCSV.test_to_csv_float32_nanrep  s    II!!!$44V<CCBJJO
 19~
		$s	#$)QKKME8>>#&q)U222 *))s   .C
Cc                     [        / SQ/ SQS.5      n[        U5      nUR                  U5        U R                  U5      n[        R
                  " XB5        g )NrB  )z5,6z7,8z9,0r  r   r(   r-   r   r<   r=   r   r.   rm   r   r}   s        r   test_to_csv_withcommas)TestDataFrameToCSV.test_to_csv_withcommas  sB    Y-BCD9~
		$mmD!
c&r   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S9n[        [        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                  " X4XVU/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     [!        U5      nUR#                  U5        [%        USX" S5      S9n[&        R(                  " X5        g )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   !rJ   )r   r   float64float)rI   r#   rO   r{   Tboolr[   re  r   )r'   r#   rI   20010101date   2   r8   rG   )axisr   )r   rI   r3   )r   r)   rf   rg   rh   r   r'   r
   r*   r+   ry   rz   r  rO   bool_r   r(   r-   r   r<   r=   )r   r.   r  df_floatdf_intdf_bool	df_objectdf_dtrm   dtypesr   rI   r   r   rq   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X1Fh
	 j!..'
 %'FFbeQqSj!!#

2b5!A#:YY'eD1M bjj!BHHRXXv	
HA !^!q	 $
 9~
		$dav;vCVW
b%r   c           	         [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        [        S5      5      -   SS9n[        U5      nUR                  U5        [        USS9nUR                  Ul
        [        R                  " XB5        [        [        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      UR                  [        S5      S9n	[         R"                  " XVXxU	/SSS9n/ SQS-  Ul
        UR                  U5        [        USS9nS H  n
[%        XJ   5      XJ'   M     UR                  Ul
        [        R                  " XB5        g )NrJ   )r   r     r  rl  r   rx   )r   rG   rH   rO   TrG   r[   re  r  r8   )r  ignore_indexr]   r   )z0.4z1.4z2.4)r   r)   rf   rg   rh   r   rM   r(   r-   r   r#   r<   r=   r   r'   r
   ry   rz   r   )r   r.   rm   r   rn   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
 9~
		$$!,
f)II!!!$44Y?y
 299003CCINOVV
 DaIe8>>58L	)J/x~~uUVxXYYw59PT
 ]

		))q1 'A#FI.FI ' 
f)r   c           
      F   [        [        R                  " S5      [        [	        S5       Vs/ s H  nSU 3PM
     snSS9[        / SQ5      S9n[        U5      nUR                  U5        [        USS	9nUR                  S
S0S9n[        R                  " XS5        g s  snf )Nro  r   r   re  r   rU   r[   r   rx   za.1rV   r"   )r   r)   r   r   rM   r(   r-   r   renamer<   r=   )r   r.   r   rm   r   rn   s         r   test_to_csv_dups_cols2)TestDataFrameToCSV.test_to_csv_dups_cols2;  s    GGFO5848a2aS845A/*
 9~
		$ $!,s|4
f) 5s   Br   )r8   r   r   c                    [        S[        S5      05      nUR                  S-   US'   UR                  S-   US'   UR                  S-   US'   [        U5      nUR	                  XAS	9  [        US
S9n[        R                  " XS5        g )Nr    r         ?r!   g       @r   g      @r	  r   r   rx   )r   rM   r    r(   r-   r   r<   r=   )r   r   r.   rO  r   rq   s         r   test_to_csv_chunking'TestDataFrameToCSV.test_to_csv_chunkingK  sy    U2Y'($$*3$$*3$$*39~
		$	,da(
b%r   c                 p   Sn[        [        R                  R                  S5      R	                  SUS-   45      S S S9n[        U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[        R                  " Xt5        g ! , (       d  f       N/= f)
Nr   rJ   r8   r   r  z/pandas.io.formats.csvs._DEFAULT_CHUNKSIZE_CELLSF)r%   r'   r$   )r   r)   rf   rg   rh   r(   contextsetattrr-   r   r<   r=   )r   r.   monkeypatchr   rm   r   mrq   s           r   !test_to_csv_wide_frame_formatting4TestDataFrameToCSV.test_to_csv_wide_frame_formattingW  s     	II!!!$44aR5HI

 9~  "aIIGSIId5I6 # d4(
b%	 #"s   $B''
B5c                     [        S5      nU R                  US S9n[        SX3R                  S      05      n[	        U5      nUR                  U5        [        USS9n[        R                  " XdSS9  g )Nza,1.0
b,2.0r$   tr   rx   Fr^   )r   r   r   r#   r(   r-   r<   r=   )r   r.   f1rm   newdfr   rB   s          r   test_to_csv_bug"TestDataFrameToCSV.test_to_csv_bugg  si    n%]]2d]+3::a= 1239~T$!,
f?r   c                     [        S/ SQ05      n[        U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        g )	Nu   c/σrB  UTF-8r  r   r   r   Fr   r'   r  r  s        r   test_to_csv_unicode&TestDataFrameToCSV.test_to_csv_unicodes  st    
I./9~
		$	)tq7;
b&
		$	6ttg>
b&r   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   r<   r=   )r   bufrm   r}   s       r   test_to_csv_unicode_index_col0TestDataFrameToCSV.test_to_csv_unicode_index_col~  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   rx   )r   r-   r  r   r<   r=   )r   r/   r  rB   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[        U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
                  " XE5        g )Ng~Ϛ?g9DܜJ?g>D)?g.4i(@33333@̤Ar    r!   ra   rb   rc   r[   z%.2f)float_formatr   rx   )gQ?gq=
ףp?g=
ףp=?)gp=
ף(@r  r  r  )r   r.   rm   r   rq   rr   s         r   test_to_csv_float_format+TestDataFrameToCSV.test_to_csv_float_format  ss    +-KL*#
 9~
		$V	,da(!>?*#

 	b%r   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 )	NrV   r5  r  r  c                 ,    [         R                  " U SS9$ )N-)trim)r)   format_float_positionalr   s    r   r   JTestDataFrameToCSV.test_to_csv_float_format_over_decimal.<locals>.<lambda>  s    2#=#=ac#Jr   F)decimalr  r'   )rV   z0.51)r   r-   r<   convert_rows_list_to_csv_strr   rm   rn   expected_rowsrC   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 )NrB  )re  ri  rk  r  Fr  )r'   quotingr   )z"A","B"z1,"foo"z2,"bar"z3,"baz")r   r   r-   csvQUOTE_NONNUMERICgetvaluer<   r  )r   rm   r  rn   r  rC   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  r<   r  )r   r   rm   r  rn   r  rC   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 )	NrB  rC  r  onetwothreer&   Fr5   )zA,Bzone,1,4ztwo,2,5z	three,3,6)r   r   r-   r<   r  r  )r   rm   r  r  rC   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[        U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        g ! , (       d  f       g = f)NrB  rC  r  r  r&   
lineterminators#   ,A,B
one,1,4
two,2,5
three,3,6
rbrw   r   r(   r-   r  readr   r.   rm   r   rC   r   s         r   test_to_csv_lineterminators.TestDataFrameToCSV.test_to_csv_lineterminators  s^    YY7?VW9~
		$v	.A$T"a668x''' #""   A
A*c                     [        / SQ/ SQS./ SQS9n[        U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        g ! , (       d  f       g = f)NrB  rC  r  r  r&   
r  s   ,A,B
one,1,4
two,2,5
three,3,6
r  r  r  r  s         r   test_to_csv_lineterminators2/TestDataFrameToCSV.test_to_csv_lineterminators2  s^    YY7?VW9~
		$t	,9$T"a668x''' #""r  c                 D   [        / SQ/ SQS./ SQS9n[        U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        g ! , (       d  f       g = f)NrB  rC  r  r  r&   r  s   ,A,Bs   one,1,4s   two,2,5s	   three,3,6r  r  )r   r(   r-   oslinesepencoder  r  )r   r.   rm   r   
os_lineseprC   r   s          r   test_to_csv_lineterminators3/TestDataFrameToCSV.test_to_csv_lineterminators3  s    YY7?VW9~
		$ZZ&&w/
  	
    	 $T"a668x''' #""s   0B
B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)rV   rW   rW   rV   rV   r   r   r   Fr$   r   )r	   ry   Categoricalr   r-   r  r   )r   r   rL   resr}  rm   r}   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   rx   )r-   r   r(   r   r   r<   r=   )r   r/   csv_strrB   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  r[   )rp  defghir"   asciir   ){   u   你好u   世界gb2312)r.  u   Γειά σουu
   Κόσμεcp737c           
         [        U5      nUR                  XTUS9  [        XTSUS9n[        R                  " X&5        [        USXCS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                  " XT5       nUR                  5       R                  U=(       d    S5      n	UR                   H
  n
X;   a  M
   e   S S S 5        [        R                  " XT5       n[        R                  " U[        USUS	95        S S S 5        g ! , (       d  f       N= f! , (       d  f       N_= f! , (       d  f       g = f)
N)compressionr   r   )r2  r   r   wr  )r2  r   r   r#   r   r  )r(   r-   r   r<   r=   r   handleclosedsqueezedecompress_filer  r   r#   )r   r.   rm   r   r2  r   rn   handlesfhtextcols              r   test_to_csv_compression*TestDataFrameToCSV.test_to_csv_compression   sM   0 9~
		$(	C$1xX
b) #;
IIgnnxI8~~,,,,,	
 #	

 ')
 	 	b) 2b779##H$67Dzz{"{ " 3
 2b!!"hrQ&RS 32)
 
 32
 32s*   8E;E,E,1!E=
E),
E:=
Fc                 x   [        U5      nUR                  n[        XDR                  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                  " XV5        UR	                  US
S9  [        USS9nUR                  S 5      nUR                  R                  S 5      Ul        [        R                  " XW5        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                  " XX5        [        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                  " XZ5        g )Nr8   r  r&   %Y%m%ddate_formatr   rx   c                 6    [        U R                  S5      5      $ Nr?  r{   strftimer   s    r   r   <TestDataFrameToCSV.test_to_csv_date_format.<locals>.<lambda>a  s    #ajj>R:Sr   c                 6    [        U R                  S5      5      $ rC  rD  r   s    r   r   rF  c      c!**X./r   %Y-%m-%dc                 $    U R                  S5      $ NrI  rE  r   s    r   r   rF  l  s    !**Z:Pr   c                 $    U R                  S5      $ rK  rL  r   s    r   r   rF  n  s    ajj,r   c                 6    [        U R                  S5      5      $ rC  rD  r   s    r   r   rF  z  rH  r   c                 $    U R                  S5      $ rC  rL  r   s    r   r   rF  ~  s    ajj*r   r   r   )
2000-01-01rP  rP  r    )r3   r   )r(   r'   r   shiftr-   r   r   r<   r=   Tr#   r   )r   r.   rA   r   r   rS  datetime_frame_intdatetime_frame_strdatetime_frame_columns	nat_index	nat_frames              r   test_to_csv_date_format*TestDataFrameToCSV.test_to_csv_date_formatV  s   9~!''"!238
 	d9 *+//0ST#5#;#;#?#?/$
  	d7d
; *+//0PQ#5#;#;#?#?,$
  	d7 "0!1!1%%d%A*!7!;!;/"
 *@)G)G)K)K**
& 	d;  GbLEE
	 sI.i@	:61a&A>
d.r   tdr   r4   10sc                 t   [        U5      n[        SSSSSS9nXA-   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                  " X5        g )Nz2013-10-26 23:00z2013-10-27 01:00zEurope/Londonr8  infer)r   r   	ambiguousrO   rH   r    r&   Tr   rx   utc)r(   r   r9   r)   r   rM   r>   r   r-   r   r   r'   r   r<   r=   )	r   rZ  r.   r   timesr   
time_rangerm   rn   s	            r    test_to_csv_with_dst_transitions3TestDataFrameToCSV.test_to_csv_with_dst_transitions  s    9~
 JLLXXeCFm7;
Z(2
		$d	# $!,"6<<T:EEoV
f)r   z	start,endz
2015-03-29z
2015-03-30z
2015-10-25z
2015-10-26c                 @   [        XSSSS9nUR                  S 5      nS UR                  l        [	        SUS.US9nUR                  USS9  [        US	S
9n[        UR                  SS9R                  S5      R                  S5      Ul        [        US   SS9R                  S5      US'   [        R                  " Xe5        UR                  [        5        [        U5      nUR                  U5        [         R"                  " U5      n[        R                  " Xe5        g )Nr8  zEurope/Parisr   )r   r   unitr8   )r@   idxr&   Tr   rx   r_  rg  zdatetime64[ns, Europe/Paris])r   r9   _data_freqr   r-   r   r   r'   r   r;   r   r<   r=   r(   	to_picklery   read_pickle)r   startendr.   rg  rm   rn   r   s           r   ,test_to_csv_with_dst_transitions_with_pickle?TestDataFrameToCSV.test_to_csv_with_dst_transitions_with_pickle  s     #.tLnnT"		!C0<
		)4	()q1$/::>JRRSWX 	 $F5Mt<CC*
u 	f) 			#9~
T%
f)r   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	@*   rV   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")rx  z0,True,1.0,42.0,"a"z1,False,3.2,"","b,c"z%need to escape, but no escapechar setrd   )r  
escapechar)rv  rw  z1,False,3.2,,b!,c!)z,c_bool,c_ffloat,c_int,c_stringrw  z1,False,3.2,,bf,cr   za,b,cz1,"test 
",3r  r  r8   rJ   rG   r   r   rD  rN  rW   )z"a","b","c"z"1","3","5"z"2","4","6")r   r)   r*   r<   r  r-   r  QUOTE_MINIMAL	QUOTE_ALLr  rj   rk   Errorr   r   r   r  	set_index)	r   rm   r  rC   rn   rs   	text_rowsr:  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-01rP  
3005-01-01r	  )r   rC  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  )ry   PeriodIndexr   r-   r<   r  r   )r   datesr'   rm   rn   r  rC   rA  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))rV   r8   )rV   rJ   )rW   r8   )rW   rJ   r   )r   rD  rG  rH  )rV   rW   r   dr$   )z,a,b,c,dz	0,1,2,3,4z	1,5,6,7,8)r   ri   r   r#   r-   r<   r  )r   r#   rm   r%   rn   r  rC   s          r   test_multi_index_header*TestDataFrameToCSV.test_multi_index_headerE  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)r8   )rJ   rG   rB  r"   r  r  z,1,3
0,1,3
r  r  )r   r   reindexr-   r<   r?   )r   r'   rm   rC   rn   s        r   $test_to_csv_single_level_multi_index7TestDataFrameToCSV.test_to_csv_single_level_multi_indexR  sR    ()	{E2ZZtZ-"$/
v0r   c                 b   [        SSS/05      n/ SQn[        R                  " U5      nUS-  nUR                  5         [	        U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        WU:X  d   eg ! , (       d  f       N= f)NrV   r8   rJ   )rV   r  2z__test_gz_lineend.csv.gzFr&   gzip)r2  r  )	r   r<   r  touchr(   r-   r7  r  r   )	r   tmp_pathrm   r  rC   	file_pathr   r   rn   s	            r   test_gz_lineend"TestDataFrameToCSV.test_gz_lineend[  s    aV}%'22=A99	9~
		$e	$&9QVVX__W-F : !!! :9s   / B  
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 )NrV   z1/1/2000r   r   rP  )r   r   r   r-   r  )r   rx  r  rn   s       r   test_to_csv_numpy_16_bug+TestDataFrameToCSV.test_to_csv_numpy_16_bugi  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   rn   rC   s      r   test_to_csv_na_quoting)TestDataFrameToCSV.test_to_csv_na_quotingr  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 )NrX   r8   r   rW   Int16category)z,a,bz0,x,1z1,x,)r   ry   NAr   r-   r<   r  r  s        r   test_to_csv_categorical_and_ea1TestDataFrameToCSV.test_to_csv_categorical_and_ea}  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 )	NrV   r   z
2020-01-02both)r5  r  z,az.0,"[2020-01-01 00:00:00, 2020-01-02 00:00:00]")r   ry   Intervalr
   r   r-   r<   r  r  s        r   $test_to_csv_categorical_and_interval7TestDataFrameToCSV.test_to_csv_categorical_and_interval  s    KK!,/!,/%

 S'..,3OP22=A!!!r   c                 J   [        S/ SQ05      nSnUS-  nUS-  n[        R                  " [        USS9   UR	                  USS9  S S S 5        [        R                  " [        USS9   UR	                  USS9  S S S 5        g ! , (       d  f       NB= f! , (       d  f       g = f)	NrV   rB  zzip and tar do not support mode 'a' properly. This combination will result in multiple files with same name being added to the archiveztest.zipztest.tarF)re   raise_on_extra_warningsr  )r   r<   rr  RuntimeWarningr-   )r   r  rm   rs   zip_pathtar_paths         r   -test_to_csv_warn_when_zip_tar_and_append_mode@TestDataFrameToCSV.test_to_csv_warn_when_zip_tar_and_append_mode  s    Y'(Q 	 j(j(''#u
 IIhSI)

 ''#u
 IIhSI)
 

 


 
s   B)B
B
B"c                     [        SS/SS /SS/S.5      nUR                  SS[        R                  S	9n/ S
Qn[        R
                  " U5      nX$:X  d   eg )NrV   r  zb"czde,f"z"c)col_acol_bcol_c"\)	quotecharry  r  )z,col_a,col_b,col_cz0,a,b\"c,de\,f\"z	1,a2,,\"c)r   r-   r  r   r<   r  r  s        r   test_to_csv_escape_quotechar/TestDataFrameToCSV.test_to_csv_escape_quotechar  se    t!4
 ST3>>R

 22=A!!!r   r   )NNNNF)L__name__
__module____qualname____firstlineno__r   r0   rD   rQ   rt   r   r   r   r   rj   markparametrizer   slowr   r   r   filterwarningsr  r  r  r  r!  r0  r:  r?  rK  rT  r\  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r$  r)  r   r<  rX  ry   r   r;   rc  rn  r  r  r  r  r  r  r  r  r  r  r  __static_attributes__r   r   r   r   r      s<   (.E**"9H&A 6"A& [[VdS#J%78"? 9"?H [[C CD fP [[[[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,G
G
*@-$T l03',&\$*L*  [[[*5	& 6	& [[& &
@	''3&$
"	" [[Z$9	" :	"*
(
((*003 [[ 35ST*+
  -.H'Rq566PRZ[?@@+ 	
.T/.T>6/p [[TBLLO$;$;D$A2<<PUCV#WX* Y** [[<(<(	
**2`<D">"1"&	"""&*&"r   r   )r  ior   r  numpyr)   rj   pandas.errorsr   pandasry   r   r   r   r   r	   r
   r   r   r   r   pandas._testing_testingr<   pandas.core.commoncorecommonrt  pandas.io.commonr   r   r   r   r   <module>r     sC    
  	   %         'a" a"r   