
    Eg	                         d dl Z d dlmZ d dlZd dlZd dlZd dlmZ d dl	Z
d dl	mZmZmZmZmZmZmZmZmZmZ d dlmZ d dlmc mZ d dlmZ  G d d          ZdS )    N)StringIO)ParserError)
	DataFrameIndex
MultiIndexNaTSeries	Timestamp
date_rangeperiod_rangeread_csvto_datetime)
get_handlec                      e Zd Zd Zd Zd Zd Zd Zd Zd Z	e
j                            dd	d
dgg          d             Ze
j        j        d             Z	 	 	 	 	 dfdZe
j        j        e
j                            dg d          d                         Ze
j        j        e
j                            dg d          e
j                            dg d          e
j                            dg d          e
j                            d          d                                                             Ze
j        j        e
j                            dg d          e
j                            dg d          d                                     Ze
j        j        e
j                            dg d          d                         Ze
j        j        d             Ze
j        j        d             Ze
j        j        e
j                            dg d          e
j                            dg d          e
j                            d d!d"id#d"igd$d"id%d"igd"d"d&d"d"d'gg          d(                                                 Zd) Zd* Zd+ Zd, Zd- Zd. Zd/ Zd0 Z d1 Z!d2 Z"d3 Z#d4 Z$e
j                            d5g d6          d7             Z%e
j        j        d8             Z&d9 Z'd: Z(d; Z)d< Z*d= Z+d> Z,d? Z-e
j                            d@d	dAg          dB             Z.dC Z/dD Z0dE Z1dF Z2e
j                            dG e3g dHg dIgdJdKgg dLM          d	f e3g dNgg dLO          dPf e3dQg dRgz  g dLO          dSf e3dQg dTgz  g dLO          dUfg          dV             Z4dW Z5e
j                            dX e6j7        dY           e6j7        dZ          g          d[             Z8d\ Z9d] Z:d^ Z;d_ Z<d` Z=da Z>db Z?dc Z@dd ZAde ZBd	S )gTestDataFrameToCSVc                 >    ddi} |j         di | t          |fi |S )N	index_colr    )updater   )selfpathkwargsparamss       [/var/www/sysmax/venv/lib/python3.11/site-packages/pandas/tests/frame/methods/test_to_csv.pyr   zTestDataFrameToCSV.read_csv   s:    q!'''''    c                    t          j        d          5 }t          j        |j        d d|j                            d          f<   |                    |           |                    |ddg           |                    |d           |                    |d           |j        	                    d           |_        |                    |           | 
                    |d	
          }t          j        ||           |                    |d           | 
                    |d d	          }t          |j                  t          |j                  dz   k    sJ |                    |d           | 
                    |d d	          }t          j        |j        |j                   t          t!          t#          d          t          j        dt          j                            t!          t#          d          t          j        dt          j                            d          }|                    |           | 
                    |          }t          j        ||           d d d            d S # 1 swxY w Y   d S )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_csv1z(TestDataFrameToCSV.test_to_csv_from_csv1$   s   _788 #	.DEGVKRaR!4!<!<S!A!AABt$$$tc3Z888tE222t5111 $2#7#B#B4#H#HN !!$''']]4T]::F!.&999!!$G!<<<]]44T]JJFv~&&#n.D*E*E*IIIII !!$e!444]]44T]JJF">#8&-HHH  q1BH1M1M1MNNN q1BH1M1M1MNNN  B IIdOOO]]4((F!"f---G#	. #	. #	. #	. #	. #	. #	. #	. #	. #	. #	. #	. #	. #	. #	. #	. #	. #	.s   IJ  JJc                     t          j        d          5 }t          t          j                            d                              d          g dg d          }|                    |           |                     |          }t          j	        ||           t          j        g d          }t          t          j                            d                              d          |g d          }|                    |           |                     |g dd	
          }t          j	        ||d	           t          g d          }|                    ||           |                     |          }|                                }||_        t          j	        ||           d}	t          j        t"          |	          5  |                    |ddg           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )N__tmp_to_csv_from_csv2__r/   r,   r,   arJ   b)xyzr&   r"   )r   r+   r/   rP   )r    r+   r/   r   r+   r/   Fr*   check_names)AAXYZr#   z Writing 4 cols but got 2 aliasesmatchrT   rU   )r2   r3   r   r4   randomdefault_rngstandard_normalr8   r   r:   r   from_tuplesr   copyr"   pytestraises
ValueError)
r   rA   r   dfresultmidxcol_aliasesrsxpmsgs
             r   test_to_csv_from_csv2z(TestDataFrameToCSV.test_to_csv_from_csv2J   s~   _788 !	=D	%%a((88@@%oo'  B
 IIdOOO]]4((F!&"---)*Q*Q*QRRD	%%a((88@@'  B IIdOOO]]4999%]PPF!&"%@@@@   5 5 566KtK888t$$B!!##B$BJ!"b)))4Cz555 = =""4s"<<<= = = = = = = = = = = = = = =A!	= !	= !	= !	= !	= !	= !	= !	= !	= !	= !	= !	= !	= !	= !	= !	= !	= !	=s6   F0HG+H+G/	/H2G/	3HH
Hc                    t          j        d          5 }t          t          j                            d                              d                    }t          t          j                            d                              d                    }|                    |           |                    |dd           t          j	        ||g          }t          |d          }d	 |j        D             |_        d
 |j        D             |_        t          j        ||           d d d            d S # 1 swxY w Y   d S )N__tmp_to_csv_from_csv3__r/   )r,   r+   rJ   F)moder$   r   r   c                 ,    g | ]}t          |          S r   int.0labels     r   
<listcomp>z<TestDataFrameToCSV.test_to_csv_from_csv3.<locals>.<listcomp>w       ===#e**===r   c                 ,    g | ]}t          |          S r   ro   rq   s     r   rt   z<TestDataFrameToCSV.test_to_csv_from_csv3.<locals>.<listcomp>x   ru   r   )r2   r3   r   r4   rZ   r[   r\   r8   pdconcatr   r"   r:   )r   r   df1df2rg   rf   s         r   test_to_csv_from_csv3z(TestDataFrameToCSV.test_to_csv_from_csv3n   sZ   _788 
	*DBI11!44DDVLLMMCBI11!44DDVLLMMCJJtJJt#eJ444C:&&B$!,,,B=="*===BJ=="*===BJ!"b)))
	* 
	* 
	* 
	* 
	* 
	* 
	* 
	* 
	* 
	* 
	* 
	* 
	* 
	* 
	* 
	* 
	* 
	*s   DD66D:=D:c           
      $   t          j        d          5 }t          j        d          t	          dfdt          d          D             it          fdt          d          D             d	          
          }|                    |           t          |d          }t          j	        |j
                  |_
        t          j	        |d                   |d<   t          j        ||d           d d d            d S # 1 swxY w Y   d S )N__tmp_to_csv_from_csv4__r+   )secondsdt_datac                     g | ]}|z  S r   r   rr   idts     r   rt   z<TestDataFrameToCSV.test_to_csv_from_csv4.<locals>.<listcomp>       666QV666r   r,   c                     g | ]}|z  S r   r   r   s     r   rt   z<TestDataFrameToCSV.test_to_csv_from_csv4.<locals>.<listcomp>   r   r   dt_indexnamer%   rm   T)check_index_type)r2   r3   rw   	Timedeltar   r>   r   r8   r   to_timedeltar&   r:   )r   r   rb   rc   r   s       @r   test_to_csv_from_csv4z(TestDataFrameToCSV.test_to_csv_from_csv4{   sc   _788 	EDa(((B6666U1XX66676666U1XX666ZHHH  B IIdOOOdj999F?6<88FL "y0A B BF9!"ftDDDD	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	Es   C"DD	D	c                 "   t          j        d          5 }                    |           t          |ddg          fd} |d          d<    |d          d<   t          j                   d d d            d S # 1 swxY w Y   d S )N__tmp_to_csv_from_csv5__r   r   r*   c                     t          |                    j                            d          j                            |          j        j                  S )NUTC)r   r   
tz_converttz)crc   timezone_frames    r   <lambda>z:TestDataFrameToCSV.test_to_csv_from_csv5.<locals>.<lambda>   s?    +fQi00JJu%%JJ~a03677 r   r    C)r2   r3   r8   r   r:   )r   r   r   	converterrc   s    `  @r   test_to_csv_from_csv5z(TestDataFrameToCSV.test_to_csv_from_csv5   s    _788 	:D!!$'''dacUCCCF8 8 8 8 8 
 $)C..F3K#)C..F3K!&.999	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:s   A BBBc           
      "   d}t          |dz            }t          t          j        |df          t	          d t          |          D             d          t	          d t          d          D             d                    }|j        }|d	         |d
         g}t          j                    5 }|	                    |||           t          |d
          }d d d            n# 1 swxY w Y   t          j        ||         |d           d S )Nr         @r,   c                     g | ]}d | S zi-r   rr   r   s     r   rt   zBTestDataFrameToCSV.test_to_csv_cols_reordering.<locals>.<listcomp>       444aa444r   rJ   r   c                     g | ]}d | S r   r   r   s     r   rt   zBTestDataFrameToCSV.test_to_csv_cols_reordering.<locals>.<listcomp>       666888666r   rO   r/   r   r"   	chunksizerm   FrR   )rp   r   r4   onesr   r>   r"   r2   r3   r8   r   r:   )r   r   Nrb   cscolsr   rs_cs           r   test_to_csv_cols_reorderingz.TestDataFrameToCSV.test_to_csv_cols_reordering   sM   		C  GQFOO445884443???66U1XX666SAAA
 
 

 Z1r!u~_ 	/$IIdDII>>>DA...D	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	bh%@@@@@@s   1*C''C+.C+r   NrK   rJ   c           	         d}t          |dz            }t          t          j        |df          t	          d t          |          D             d          g d          }t          j                    5 }|                    |||	           t          |d
          }||j
        j        r||_
        n<|j
                            |          \  }}|j
                            |          |_
        |D ]T}	||	         }
||	         }t          |
t                    rt          j        |
|           =t          j        |
|d           Un#|j
        |_
        t          j        ||d           d d d            d S # 1 swxY w Y   d S )Nr   r   r,   c                     g | ]}d | S r   r   r   s     r   rt   z@TestDataFrameToCSV.test_to_csv_new_dupe_cols.<locals>.<listcomp>   r   r   rJ   r   rI   rO   r   r   rm   FrR   )rp   r   r4   r   r   r>   r2   r3   r8   r   r"   	is_uniqueget_indexer_non_uniquetake
isinstancer	   assert_series_equalr:   )r   r   r   r   rb   r   r   indexermissingr   obj_dfobj_rss               r   test_to_csv_new_dupe_colsz,TestDataFrameToCSV.test_to_csv_new_dupe_cols   s   		C   GQFOO445884443???#OO
 
 

 _ 	C$IIdDII>>>DA...D :' <#'DLL')z'H'H'N'N$GW#%:??7#;#;DL Q QAUF!!WF!&&11 Q.vv>>>>-ff%PPPPPQ  "z%b$EBBBB1	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	Cs   6C7E::E>E>c                    d
d}d} ||dz             } ||dz   d          }t          j        d          5 }t          ||d          }|                    ||           |                     |                              t                    }t          j        ||d	           d d d            d S # 1 swxY w Y   d S )Nc                    |t          | dz            }t          t          dd|                     }|rt          j                            d                              dt          |          |          D ]}t          ||<   t          j                            d                              d          }t          || <   t          ||<   |S )Ng?20005min)freqperiodsr/   r   d   )	rp   listr   r4   rZ   r[   integersr;   r   )nnnatsr   s       r   make_dtnat_arrz<TestDataFrameToCSV.test_to_csv_dtnat.<locals>.make_dtnat_arr   s    |1s7||ZVQ???@@A ..q11::1c!ffdKK  AAaDDI))!,,55c::1"!Hr     r   r   z1.csvrJ   rK   r   FrR   N)r2   r3   r   r8   r   applyr   r:   )r   r   r   r0   r1   pthrb   rC   s           r   test_to_csv_dtnatz$TestDataFrameToCSV.test_to_csv_dtnat   s+   
	 
	 
	 
	 	^IM**^IM1--_W%% 	A"--..BIIcYI///]]3''--k::F!"f%@@@@	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	As   A.B33B7:B7Fc           	      x	   ddi}|r|t          t          |                    |d<   t          t          |                    |d<   t          j        d          5 }	|                    |	d|            | j        |	fi |d d d            n# 1 swxY w Y   nWd|d<   t          j        d          5 }	|                    |	d|            | j        |	fi |d d d            n# 1 swxY w Y   d	 |r|j        _        |rg|sefd
t          |dz
            D             }
t          j        t          j	                  g|
z             }|_	        j
        d d |dz
  d f         ddddddd}|r|dk    r\d}t          j        fdj	        D             |          _	        t          j        fd|j	        D             |          |_	        nF|dk    rWd}t          j        d j	        D             |          _	        t          j        d |j	        D             |          |_	        n|dk    rd}t          j	                  }t          j        d |D             |          _	        t          j        t          t          t          |j	                                                            |          |_	        nU|                    |          }t          j        j	        |          _	        t          j        |j	        |          |_	        |r|dk    r\d}t          j        fdj        D             |          _        t          j        fd|j        D             |          |_        n2|dk    rWd}t          j        d j        D             |          _        t          j        d |j        D             |          |_        n|dk    rzd}t          j                  }t          j        d |D             |          _        |j                                        }t          j        d |D             |          |_        nU|                    |          }t          j        j        |          _        t          j        |j        |          |_        |fS )Nr'   Fr   r$   __tmp_to_csv_moar__utf8)encodingr   r   c                 Z    t          | t                    s|                     d          S | S )Nr   )r   strdecoderL   s    r   _to_uniz;TestDataFrameToCSV._return_result_expected.<locals>._to_uni  s+    a%% (xx'''Hr   c                 <    g | ]}j         d d |f         j        S r   )r6   r=   )rr   r   rC   s     r   rt   z>TestDataFrameToCSV._return_result_expected.<locals>.<listcomp>  s+    LLLaQQQT*1LLLr   r+   r   fO)r   r   r   ur   pr   c                 &    g | ]} |          S r   r   rr   rs   r   s     r   rt   z>TestDataFrameToCSV._return_result_expected.<locals>.<listcomp>  s!    >>>WWU^^>>>r   r-   c                 &    g | ]} |          S r   r   r   s     r   rt   z>TestDataFrameToCSV._return_result_expected.<locals>.<listcomp>  s!    :::WWU^^:::r   r   c                 ,    g | ]}t          |          S r   r
   rq   s     r   rt   z>TestDataFrameToCSV._return_result_expected.<locals>.<listcomp>"  s     @@@%Yu%%@@@r   c                 ,    g | ]}t          |          S r   r   rq   s     r   rt   z>TestDataFrameToCSV._return_result_expected.<locals>.<listcomp>%       <<<%Yu%%<<<r   r   c                 ,    g | ]}t          |          S r   r   rq   s     r   rt   z>TestDataFrameToCSV._return_result_expected.<locals>.<listcomp>+  r   r   c                 &    g | ]} |          S r   r   r   s     r   rt   z>TestDataFrameToCSV._return_result_expected.<locals>.<listcomp>8  s!    @@@WWU^^@@@r   c                 &    g | ]} |          S r   r   r   s     r   rt   z>TestDataFrameToCSV._return_result_expected.<locals>.<listcomp>;  s!    <<<WWU^^<<<r   c                 ,    g | ]}t          |          S r   r   rq   s     r   rt   z>TestDataFrameToCSV._return_result_expected.<locals>.<listcomp>@  s     BBB%Yu%%BBBr   c                 ,    g | ]}t          |          S r   r   rq   s     r   rt   z>TestDataFrameToCSV._return_result_expected.<locals>.<listcomp>C  s     >>>%Yu%%>>>r   c                 ,    g | ]}t          |          S r   r   rq   s     r   rt   z>TestDataFrameToCSV._return_result_expected.<locals>.<listcomp>I  r   r   c                 ,    g | ]}t          |          S r   r   rq   s     r   rt   z>TestDataFrameToCSV._return_result_expected.<locals>.<listcomp>M  r   r   )r   r>   r2   r3   r8   r   r"   r   from_arraysr&   r6   r4   arrayr   mapr
   to_timestampget)r   rb   r   r_dtypec_dtypernlvlcnlvldupe_colr   r   	delta_lvlixtype_mapidx_listcol_listr   rC   s                  @@r   _return_result_expectedz*TestDataFrameToCSV._return_result_expected   s     ' 	7 &*5<<&8&8{##E%LL11F8!677 74		$9	EEE&t66v667 7 7 7 7 7 7 7 7 7 7 7 7 7 7  !F8!677 74		$9	EEE&t66v667 7 7 7 7 7 7 7 7 7 7 7 7 7 7	 	 	
  	(  ZFN 	1 	1LLLL5;K;KLLLI'fl););(<y(HIIBFL[EAIKK0F3Ss#CPP 	=#~~!x>>>>>>>g      8:::::::'   D!x@@6<@@@      8<<28<<<G   C&v|44!x<<8<<<G      8Y(=(=(?(?@@AA   #,,w//!xGDDD8BHG<<< 	A#~~!#@@@@@@@" " "  X<<<<<<<G  

 D!#BB6>BBB'" " "  X>>2:>>>g  

 C&v~66!#<<8<<<G" " " :2244X<<8<<<G  

 #,,w//!#&.!H!H!HXbj@@@
6zs$   'BBB5'C((C,/C,nrows)r/   
   c   r   e   f                           c           	         t          t          j        |df          t          d|          t	          t          d          t                              }|                     |ddd	          \  }}t          j	        ||d
           d S )N   
2020-01-01r   abcdr-   rO   r   r   r   FrR   )
r   r4   r   r   r   r   objectr   r2   r:   )r   r   rb   rc   expecteds        r   test_to_csv_nrowsz$TestDataFrameToCSV.test_to_csv_nrowsU  s    
 GUAJ\5999$v,,f555
 
 

  77D$LL
fhEBBBBBBr   zr_idx_type, c_idx_type))r   r   )r   r   )r   r   )r   r   ncolsr+   r/   r,   r  z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                    d d d d d}t          t          j        ||f           ||         |           ||         |                    }|                     |d||          \  }}t	          j        ||d	           d S )
Nc                 \    t          t          j        |           t          j                  S )Nr-   )r   r4   r?   r@   r   s    r   r   z:TestDataFrameToCSV.test_to_csv_idx_types.<locals>.<lambda>m  s    51RX>>> r   c                 V    t          d t          dd| z             D                       S )Nc                 6    g | ]}| d t          |           S )_)chrr   s     r   rt   zNTestDataFrameToCSV.test_to_csv_idx_types.<locals>.<lambda>.<locals>.<listcomp>n  s(    !M!M!MaQ//Q//!M!M!Mr   a   )r   r>   r  s    r   r   z:TestDataFrameToCSV.test_to_csv_idx_types.<locals>.<lambda>n  s+    5!M!M5R!V;L;L!M!M!MNN r   c                 $    t          d|           S )Nr  r  )r   r  s    r   r   z:TestDataFrameToCSV.test_to_csv_idx_types.<locals>.<lambda>o  s    J|Q??? r   c                 &    t          d| d          S )Nr  D)r   r   )r   r  s    r   r   z:TestDataFrameToCSV.test_to_csv_idx_types.<locals>.<lambda>p  s    <acJJJ r   )r   r   r   r   rO   r   FrR   )r   r4   r   r   r2   r:   )	r   r   
r_idx_type
c_idx_typer
  axesrb   rc   r  s	            r   test_to_csv_idx_typesz(TestDataFrameToCSV.test_to_csv_idx_typesb  s     ?>NN??JJ	
 
 GUEN##"$z"5))$D$U++
 
 

  77	
 
 	fhEBBBBBBr   )r   b   r   r   r   r   r   r   r   r   r   r   r   r  c           
      J   t          t          j        ||f          t          d t	          |          D             d          t          d t	          |          D             d                    }|                     |d          \  }}t          j        ||d           d S )	Nc                     g | ]}d | S r   r   r   s     r   rt   z<TestDataFrameToCSV.test_to_csv_idx_ncols.<locals>.<listcomp>      888aa888r   rJ   r   c                     g | ]}d | S r   r   r   s     r   rt   z<TestDataFrameToCSV.test_to_csv_idx_ncols.<locals>.<listcomp>  s    :::888:::r   rO   r   FrR   )r   r4   r   r   r>   r   r2   r:   )r   r   r
  rb   rc   r  s         r   test_to_csv_idx_ncolsz(TestDataFrameToCSV.test_to_csv_idx_ncols  s     GUEN##885<<888sCCC::U5\\:::EEE
 
 

  77DAA
fhEBBBBBBr   )r   r  r   r   r   r   c           
         t          t          j        |df          t          d t	          |          D             d          t          d t	          d          D             d                    }t          |j                  }ddg|d d<   ddg|d	d <   t          |j                  }d
d
g|d d<   d
d
g|d	d <   ||_        ||_        |                     |dd          \  }}t          j
        ||d           d S )Nr,   c                     g | ]}d | S r   r   r   s     r   rt   z;TestDataFrameToCSV.test_to_csv_dup_cols.<locals>.<listcomp>  r  r   rJ   r   c                     g | ]}d | S r   r   r   s     r   rt   z;TestDataFrameToCSV.test_to_csv_dup_cols.<locals>.<listcomp>  r   r   rO   duper/   rduper   T)r   FrR   )r   r4   r   r   r>   r   r"   r&   r   r2   r:   )r   r   rb   r   r   rc   r  s          r   test_to_csv_dup_colsz'TestDataFrameToCSV.test_to_csv_dup_cols  s$    GUAJ885<<888sCCC66U1XX666SAAA
 
 
 BJF#RaRV$RSS	"(^^7#2A2G$233
77D47PP
fhEBBBBBBr   c                     t          t          j        dt          j                            }|                     |d          \  }}t          j        ||d           d S )Nr   r-   r%   r   F)check_column_type)r   r4   r?   r@   r   r2   r:   )r   rb   rc   r  s       r   test_to_csv_emptyz$TestDataFrameToCSV.test_to_csv_empty  s[    RYr:::;;;77DAA
fh%HHHHHHr   c           
      d   d}|dz  dz   t          t          j        df          t          t	          d          t
                    t          j        fdt          d          D                                 }| 	                    ||d          \  }}t          j        ||d	
           d S )Nr   r/   r+   abr-   c                 .    g | ]}t                    S r   r>   )rr   r  rowss     r   rt   z<TestDataFrameToCSV.test_to_csv_chunksize.<locals>.<listcomp>  s    )H)H)H!%++)H)H)Hr   r"   r&   )r   FrR   )r   r4   r   r   r   r  r   r   r>   r   r2   r:   )r   r   rb   rc   r  r/  s        @r   test_to_csv_chunksizez(TestDataFrameToCSV.test_to_csv_chunksize  s    	A~!GT1I$t**F333()H)H)H)HuQxx)H)H)HII
 
 

  77IQ7OO
fhEBBBBBBr   )r/   r,   r  zdf_params, func_paramsr_idx_nlevelsr/   r   c_idx_nlevelsr   )r2  r3  )r   r   c                 *   |                     d          r4t          j        fdt          |d                   D                       }nd }|                     d          r4t          j        fdt          |d                   D                       }n-t	          d t                    D             t
                    }t          t          j        f          ||          } | j	        |dfi |\  }}	t          j        ||	d	
           d S )Nr2  c              3   J   K   | ]}d  t                    D             V  dS )c                     g | ]}d | S r   r   r   s     r   rt   zCTestDataFrameToCSV.test_to_csv_params.<locals>.<genexpr>.<listcomp>      000aa000r   Nr.  )rr   r  r   s     r   	<genexpr>z8TestDataFrameToCSV.test_to_csv_params.<locals>.<genexpr>  sK       + + 105<<000+ + + + + +r   r3  c              3   J   K   | ]}d  t                    D             V  dS )c                     g | ]}d | S r   r   r   s     r   rt   zCTestDataFrameToCSV.test_to_csv_params.<locals>.<genexpr>.<listcomp>  r7  r   Nr.  )rr   r  r
  s     r   r8  z8TestDataFrameToCSV.test_to_csv_params.<locals>.<genexpr>  sK       - - 105<<000- - - - - -r   c                     g | ]}d | S r   r   r   s     r   rt   z9TestDataFrameToCSV.test_to_csv_params.<locals>.<listcomp>  s    <<<!X!XX<<<r   r-   rO   r   FrR   )r   r   r   r>   r   r  r   r4   r   r   r2   r:   )
r   r   	df_paramsfunc_paramsr
  r&   r"   rb   rc   r  s
    `  `     r   test_to_csv_paramsz%TestDataFrameToCSV.test_to_csv_params  sN    ==)) 	* + + + +y9::+ + +  EE
 E==)) 	L , - - - -y9::- - -  GG
 <<uU||<<<FKKKGrwu~..eWMMM747DPPKPP
fhEBBBBBBr   c                    t           j        |d<   d }|j                            |          |d<   t	          j                    5 }|                    |           |                     |          }t	          j        ||           t	          j        t          j	        |          t          j	        |                     d d d            d S # 1 swxY w Y   d S )NGc                     t           j        t           j        gt           j                            d                                          dk              S )Nr/         ?)r4   infr5   rZ   r[   r   s    r   r   zETestDataFrameToCSV.test_to_csv_from_csv_w_some_infs.<locals>.<lambda>  s5    rvrv&ry'<'<Q'?'?'F'F'H'H3'NO r   h)
r4   r5   r&   r   r2   r3   r8   r   r:   isinf)r   rA   r   r   rC   s        r    test_to_csv_from_csv_w_some_infsz3TestDataFrameToCSV.test_to_csv_from_csv_w_some_infs  s   6COO&,0033C_ 	K$t$$$]]4((F!+v666!"(;"7"7&9I9IJJJ	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	Ks   A9C		CCc                    t           j        |d<   t           j         |d<   t          j                    5 }|                    |           |                     |          }t          j        ||           t          j        t          j        |          t          j        |                     d d d            d S # 1 swxY w Y   d S )NEF)r4   rC  r2   r3   r8   r   r:   rE  )r   rA   r   rC   s       r   test_to_csv_from_csv_w_all_infsz2TestDataFrameToCSV.test_to_csv_from_csv_w_all_infs  s    6CF7C_ 	K$t$$$]]4((F!+v666!"(;"7"7&9I9IJJJ	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	Ks   A9B99B= B=c                    t          j        d          5 }t          g dg dd          }|                    |d           t	          |          }t          j        ||           t          g dd	          |d
<   |                    |d           t	          |          }t          j        ||           d d d            d S # 1 swxY w Y   d S )N__tmp_to_csv_no_index__r+   r/   r,   r  r      )c1c2Fr%   )      	   r@   r-   c3)r2   r3   r   r8   r   r:   r	   )r   r   rb   rc   s       r   test_to_csv_no_indexz'TestDataFrameToCSV.test_to_csv_no_index  s   _677 	.4)))999==>>BIId%I(((d^^F!"f---iiiw777BtHIId%I(((d^^F!"f---	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.s   B#CC	C	c                     t          g dg dd          }d|d<   |                                |                    g d          k    sJ d S )NrJ   rK   r   )aabbcc)r   r+   txttest)r   r+   r]  r!   )r   r8   )r   rb   s     r   test_to_csv_with_mix_columnsz/TestDataFrameToCSV.test_to_csv_with_mix_columns  s^     ???/A/A/ABBCC6
yy{{biii????????r   c                    t          ddgddggddg          }t          ddgddggdd	g          }t          j        d
          5 }|                    |dd	g           |                     |          }t          j        ||           |                    |ddd	g           |                     |          }|                    d          }|J t          j        ||           d d d            d S # 1 swxY w Y   d S )Nr+   r/   r,   r  r   r    r!   rU   rV   __tmp_to_csv_headers__r#   F)r&   r$   T)inplace)r   r2   r3   r8   r   r:   reset_index)r   from_dfto_dfr   rC   return_values         r   test_to_csv_headersz&TestDataFrameToCSV.test_to_csv_headers  s\    aVaV,sCjAAAAq6Aq6*S#J???_566 	1$NN4c
N333]]4((F!%000NN4uc3ZN@@@]]4((F!--d-;;L'''!%000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1s   B"C66C:=C:c                    |}|j         }t          j        t          |          dz  t          j                                      dd          }t          j        |ddg          }||_         t          j	        d          5 }|
                    |d	           |
                    |d
dg           |
                    |           |                     |ddgd          }t          j        ||d           |j         j        |j         j        k    sJ ||_         |}	|	j         }|t          j        t          |          t          j                  g}t          j        |          |	_         |	
                    |ddg           t          j        t          d          5  |                     |ddgd          }
d d d            n# 1 swxY w Y   t          j        |	|
d           |	
                    |           |                     |d           }
t          |
j                  t          |	j                  dz   k    sJ |	
                    |d           |                     |d           }
t          j        |
j        |j                   ||_         d d d            n# 1 swxY w Y   t          j	        d          5 }d.d}t'          t          j        d          t          j        d t+          d          D             t-          d                    t          j        d t+          d          D             t-          d                               }|
                    |           t          |g d!ddg"          }t          j        ||           t'          t          j        d          t          j        d# t+          d          D             t-          d                              }|
                    |           t          |g d!d"          }t          j        ||           t'          t          j        d          t          j        d$ t+          d          D             t-          d                    t          j        d% t+          d&          D             t-          d'                               }|
                    |           t          |g d!g d("          }t          j        ||            |            }|
                    |d           t          |ddg	          }t          j        ||            |d          }|
                    |d           t          |ddg	          }t/          j        |j        j         sJ |j        j        |j        _        t          j        ||            |            }|
                    |           t          |ddgdg"          }t          j        ||            |d          }|
                    |           t          |ddgdg"          }t          j        ||            |d          }|
                    |           d)D ]g}d*| d+}t3          j        t6          |          5  t          |t-          t+          |                    d"           d d d            n# 1 swxY w Y   hd,}t3          j        t8          |          5  |
                    |dd-g           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j	        d          5 }|	d d         
                    |           |                     |          }
|	d d         }g |_         t          j        |
j        |j                   t          |
          dk    sJ 	 d d d            d S # 1 swxY w Y   d S )/Nr/   r-   firstsecondnames__tmp_to_csv_multiindex__Fr#   r   r    r!   r   r+   r*   rR   timefoor(   zCould not infer formatrX   Trm   r%   c                     | du rddg} t          t          j                            d                              ddd          t          j        g d	| 
          d          S )NTri  rj  r/   r   r   rH   )size))bahro  )rr  bar)banbazrk  r@   r"   r.   )r   r4   rZ   r[   r   r   r]   rk  s    r   _make_framez>TestDataFrameToCSV.test_to_csv_multiindex.<locals>._make_frameI  sz    D==$h/E I))!,,55a&5II&2HHHPU   "   r   r   r,   c                 @    g | ]}d  t          d          D             S )c                     g | ]}d | S r   r   r   s     r   rt   zHTestDataFrameToCSV.test_to_csv_multiindex.<locals>.<listcomp>.<listcomp>X      1111h1hh111r   r,   r.  rr   r  s     r   rt   z=TestDataFrameToCSV.test_to_csv_multiindex.<locals>.<listcomp>X  -    DDDa11a111DDDr   r  r  c                 @    g | ]}d  t          d          D             S )c                     g | ]}d | S r   r   r   s     r   rt   zHTestDataFrameToCSV.test_to_csv_multiindex.<locals>.<listcomp>.<listcomp>[  r{  r   r   r.  r|  s     r   rt   z=TestDataFrameToCSV.test_to_csv_multiindex.<locals>.<listcomp>[  r}  r   r,  r0  )r   r+   r/   r,   )r$   r   c                 @    g | ]}d  t          d          D             S )c                     g | ]}d | S r   r   r   s     r   rt   zHTestDataFrameToCSV.test_to_csv_multiindex.<locals>.<listcomp>.<listcomp>f  r{  r   r,   r.  r|  s     r   rt   z=TestDataFrameToCSV.test_to_csv_multiindex.<locals>.<listcomp>f  r}  r   c                 @    g | ]}d  t          d          D             S )c                     g | ]}d | S r   r   r   s     r   rt   zHTestDataFrameToCSV.test_to_csv_multiindex.<locals>.<listcomp>.<listcomp>q  r{  r   r,   r.  r|  s     r   rt   z=TestDataFrameToCSV.test_to_csv_multiindex.<locals>.<listcomp>q  r}  r   c                 @    g | ]}d  t          d          D             S )c                     g | ]}d | S r   r   r   s     r   rt   zHTestDataFrameToCSV.test_to_csv_multiindex.<locals>.<listcomp>.<listcomp>t  r{  r   r   r.  r|  s     r   rt   z=TestDataFrameToCSV.test_to_csv_multiindex.<locals>.<listcomp>t  r}  r   r,   abcrQ   )rO  rR  zlen of z, but only 5 lines in filez%cannot specify cols with a MultiIndexrs  r   )r&   r4   r?   r;   r@   reshaper   r   r2   r3   r8   r   r:   rl  assert_produces_warningUserWarningr"   r<   r=   r   r   r>   r   comall_noner_   r`   r   	TypeErrorassert_index_equal)r   rA   rB   frame	old_indexarrays	new_indexr   rb   tsframerC   rw  rc   r   rh   exps                   r   test_to_csv_multiindexz)TestDataFrameToCSV.test_to_csv_multiindex  sw	   K	3y>>A-RX>>>FFq"MM*6'89LMMM	_899 *	-TLLeL,,,LLSzL222 LLt1v5IIB !%????;$6666 !*K %GI"BIc)nnBH$M$M$MNI&29==GMNN4fe_N===+#;   Q Q t1v4PPQ Q Q Q Q Q Q Q Q Q Q Q Q Q Q !'6uEEEE NN4   ]]44]88Fv~&&#go*>*>*BBBBB NN4uN---]]44]88F"6=.2GHHH $-N U*	- *	- *	- *	- *	- *	- *	- *	- *	- *	- *	- *	- *	- *	- *	-X _899 Z	8T	 	 	 	 ".DD588DDDDQWLL   !,DD588DDDDQUJJ    B IIdOOOd<<<Aq6JJJF!"f--- ".DD588DDDDQWLL    B IIdOOOd<<<1EEEF!"f--- ".DD588DDDDQWLL   !,DD588DDDDQVKK    B IIdOOOd<<<999MMMF!"f--- BIId%I(((dAq6222F!"f--- T""BIId%I(((dAq6222F<!56666#%:#3FN !"f--- BIIdOOOdAq6aSAAAF!"f---T""BIIdOOOdAq6aSAAAF!"f--- T""BIIdOOO G G====];c::: G GT$uQxx..AFFFFG G G G G G G G G G G G G G G :Cy444 8 8		$	7778 8 8 8 8 8 8 8 8 8 8 8 8 8 8sZ	8 Z	8 Z	8 Z	8 Z	8 Z	8 Z	8 Z	8 Z	8 Z	8 Z	8 Z	8 Z	8 Z	8 Z	8x _899 		$TBQBKt$$$]]4((F"1"+CCI!&.#+>>>v;;!#####		$ 		$ 		$ 		$ 		$ 		$ 		$ 		$ 		$ 		$ 		$ 		$ 		$ 		$ 		$ 		$ 		$ 		$s   DJ$ G;J$G	J$G	C	J$$J(+J(O!]$-[][!!]$[!%!]\, ],\0	0]3\0	4]]
]"A8_((_,/_,c                    t          t          d          t          d          dt          j        dd                    }t          j        d          5 }|                    |           |                     |d          }|	                                }|r |j
                            d          |_
        n$|j
                            t                    |_
        t          j        ||           d d d            d S # 1 swxY w Y   d S )	Nr  r,   r   r    r   r%   z!__tmp_to_csv_interval_index__.csvrm   zstring[pyarrow_numpy])r   r   r>   rw   interval_ranger2   r3   r8   r   r^   r&   astyper   r:   )r   using_infer_stringrb   r   rc   r  s         r   test_to_csv_interval_indexz-TestDataFrameToCSV.test_to_csv_interval_index  s(   T%[[uQxx88@QRSUV@W@WXXX_@AA 	4TIIdOOO]]41]55F wwyyH! <!)!6!67N!O!O!)!6!6s!;!;!&(333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4s   BC??DDc                 .   t          t          j                            d                              d                              t          j                            }t          j        |d<   t          j	        d          5 }|
                    |d           t          |d          5 }|                                }|d                             d	          d         d
k    sJ 	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr/   )r+   r  r+   z!__tmp_to_csv_float32_nanrep__.csvi  )na_reputf-8r   ,999)r   r4   rZ   r[   r\   r  float32r5   r2   r3   r8   open	readlinessplit)r   rb   r   r   liness        r   test_to_csv_float32_nanrepz-TestDataFrameToCSV.test_to_csv_float32_nanrep  sr   I!!!$$44V<<CCBJOO
 
 1_@AA 	7TIId3I'''dW--- 7Qx~~c**1-666667 7 7 7 7 7 7 7 7 7 7 7 7 7 7	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7s6    )D
)<C2&D
2C6	6D
9C6	:D

DDc                 
   t          g dg dd          }t          j        d          5 }|                    |           |                     |          }t          j        ||           d d d            d S # 1 swxY w Y   d S )NrM  )z5,6z7,8z9,0r  z__tmp_to_csv_withcommas__.csvr   r2   r3   r8   r   r:   r   rb   r   rz   s       r   test_to_csv_withcommasz)TestDataFrameToCSV.test_to_csv_withcommas  s    YYY-B-B-BCCDD_<== 	+IIdOOO--%%C!#r***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+s   A A88A<?A<c           	      x   d }t          t          j                            d                              d          d |d                    }t          t          j                            d                              d                              d          d |d                    }t          d	|j         |d
                    }t          d|j         |d                    }t          t          d                              d          |j         |d                    }t          j	        |j
        ddddf<   t          j	        |j
        ddddf<   t          j        |||||gd          }i }dt          j        fdt          j        fd
t          j        fdt           ffD ]\  }	}
 ||	          D ]}|
||<   t#          j                    5 }|                    |           t)          |d| |d                    }t#          j        ||           d d d            d S # 1 swxY w Y   d S )Nc                 :      fdt          d          D             S )Nc                     g | ]	} |d 
S )03dr   )rr   r   r   s     r   rt   zMTestDataFrameToCSV.test_to_csv_mixed.<locals>.create_cols.<locals>.<listcomp>  s'    777t$Q$$$777r   r   r.  r   s   `r   create_colsz9TestDataFrameToCSV.test_to_csv_mixed.<locals>.create_cols  s#    7777eAhh7777r   r/   )r   r   float64float)r.   r"   r@   rp   TboolrO   ro  r  20010101nsdate   2   r+   r,   )axisr   )r   r.   r'   )r   r4   rZ   r[   r\   r  r&   r
   as_unitr5   r6   rw   rx   r  r@   bool_r  r2   r3   r8   r   r:   )r   r  df_floatdf_intdf_bool	df_objectdf_dtrb   dtypesr   r.   r   filenamerf   s                 r   test_to_csv_mixedz$TestDataFrameToCSV.test_to_csv_mixed  s   	8 	8 	8 I!!!$$44X>>K((
 
 

 I!!!$$44X>>EEgNNK&&
 
 

 DF@S@STTTX1F1F
 
 
	 j!!))$//.K''
 
 
 %'FbeQqSj!!#
2b5!A#:Y&'9eD1MMM bj!BHRXv	
 	" 	"HAu ![^^ " "!q		" _ 	*(IIhAVVATAT  B !"b)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s   AH//H36H3c           	         t          t          j                            d                              d          t          t          d                    t          t          d                    z   d          }t          j                    5 }|	                    |           t          |d          }|j        |_        t          j        ||           d d d            n# 1 swxY w Y   t          t          j                            d                              d          d	          }t          t          j                            d                              d                                        d
          }t          d|j        t          d                    }t          d|j        t          d                    }t          t          d                              d          |j        t          d                    }t#          j        |||||gdd          }g ddz  |_        t          j                    5 }|	                    |           t          |d          }dD ]}	t'          ||	                   ||	<   |j        |_        t          j        ||           d d d            d S # 1 swxY w Y   d S )Nr/   )r   r     r  rv  r   rm   )r   r,   r-   r@   Tr,   rO   ro  r  r  r+   )r  ignore_indexrQ   r   )z0.4z1.4z2.4)r   r4   rZ   r[   r\   r   r>   r2   r3   r8   r   r"   r:   r  r&   r
   r  rw   rx   r   )
r   rb   r  rc   r  r  r  r  r  r   s
             r   test_to_csv_dups_colsz(TestDataFrameToCSV.test_to_csv_dups_cols  s   I!!!$$44Z@@rOOd599oo5
 
 
 _ 	.(IIhh!444FZFN!&"---		. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. I!!!$$44Y??y
 
 
 290033CCINNOOVV
 
 DaIIIe8>588LLL	j!!))$//x~uUVxx
 
 
 Yvw	59PT
 
 
 YY]
_ 		.(IIhh!444F + 3 3'q	22q		ZFN!&"---		. 		. 		. 		. 		. 		. 		. 		. 		. 		. 		. 		. 		. 		. 		. 		. 		. 		.s&   AC!!C%(C%A%J88J<?J<c           	         t          t          j        d          t          d t	          d          D             d          t          g dt
                              }t          j                    5 }|                    |           t          |d	
          }|
                    ddi          }t          j        ||           d d d            d S # 1 swxY w Y   d S )Nrx  c                     g | ]}d | S r   r   r   s     r   rt   z=TestDataFrameToCSV.test_to_csv_dups_cols2.<locals>.<listcomp>1  r   r   r   ro  r   rI   r-   rO   r   rm   za.1rJ   r!   )r   r4   r   r   r>   r  r2   r3   r8   r   renamer:   )r   rb   r  rc   s       r   test_to_csv_dups_cols2z)TestDataFrameToCSV.test_to_csv_dups_cols2-  s   GFOO445884445AAA///888
 
 
 _ 	.(IIh h!444F]]E3<]88F!&"---	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.s   4ACCCr   )i'  iP  順 c                 b   t          dt          d          i          }|j        dz   |d<   |j        dz   |d<   |j        dz   |d<   t          j                    5 }|                    ||	           t          |d
          }t          j        ||           d d d            d S # 1 swxY w Y   d S )Nr   r        ?r    g       @r   g      @r  r   r   rm   )r   r>   r   r2   r3   r8   r   r:   )r   r   rY  r  rf   s        r   test_to_csv_chunkingz'TestDataFrameToCSV.test_to_csv_chunking=  s    U6]]+,,$*3$*3$*3_ 	*(IIh)I444(a000B!"b)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s   >B$$B(+B(c                    d}t          t          j                            d                              d|dz   f          d d           }t          j                    5 }|                                5 }|                    d|           |	                    |dd           d d d            n# 1 swxY w Y   t          |d 	          }d d d            n# 1 swxY w Y   t          j        ||           d S )
Nr   r/   r+   r   r0  z/pandas.io.formats.csvs._DEFAULT_CHUNKSIZE_CELLSF)r$   r&   r#   )r   r4   rZ   r[   r\   r2   r3   contextsetattrr8   r   r:   )r   monkeypatchr   rb   r  mrf   s          r   !test_to_csv_wide_frame_formattingz4TestDataFrameToCSV.test_to_csv_wide_frame_formattingI  so    	I!!!$$44aR5HII
 
 

 _ 	1($$&& ?!		KYWWW		(5	>>>? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (4000B		1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1
 	b"%%%%%s6   C2/B-!C-B1	1C4B1	5CCCc                 h   t          d          }|                     |d           }t          d||j        d                  i          }t	          j                    5 }|                    |           t          |d          }t	          j        ||d           d d d            d S # 1 swxY w Y   d S )Nza,1.0
b,2.0r#   tr   rm   FrR   )r   r   r   r"   r2   r3   r8   r:   )r   f1rb   newdfr   rC   s         r   test_to_csv_bugz"TestDataFrameToCSV.test_to_csv_bugY  s    n%%]]2d]++32:a= 1233_ 	D$LLda000F!&%UCCCC	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	Ds   >B''B+.B+c                 ~   t          dg di          }t          j                    5 }|                    |d           t	          |dd          }t          j        ||           |                    |dd           t	          |d d          }t          j        ||           d d d            d S # 1 swxY w Y   d S )	Nu   c/σrM  UTF-8r  r   r   r   Fr   r&   r  r  s       r   test_to_csv_unicodez&TestDataFrameToCSV.test_to_csv_unicodee  s   
III.//_ 	+$IIdWI---41w???C!"c***IIdWEI:::44'BBBC!"c***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+s   A>B22B69B6c                    t          d          }t          g dg dgg dddg          }|                    |d	           |                    d
           t	          |d
d          }t          j        ||           d S )N )   אd2d3d4)a1a2a3a4)r     בu   גu   דr  r  r0  r  r  r   r  )r   r   r8   seekr   r2   r:   )r   bufrb   rz   s       r   test_to_csv_unicode_index_colz0TestDataFrameToCSV.test_to_csv_unicode_index_colp  s    rll)))+C+C+CD<<<X&
 
 
 			#	(((sa':::
b#&&&&&r   c                     t                      }|                    |           |                    d           t          |d          }t	          j        ||           d S )Nr   rm   )r   r8   r  r   r2   r:   )r   rA   r  rC   s       r   test_to_csv_stringioz'TestDataFrameToCSV.test_to_csv_stringio~  sY    jj3#+++
fk22222r   c                 H   t          g dg dgddgg d          }t          j                    5 }|                    |d           t	          |d	
          }t          g dg dgddgg d          }t          j        ||           d d d            d S # 1 swxY w Y   d S )Ng~Ϛ?g9DܜJ?g>D)?g.4i(@33333@̤Ar   r    rU   rV   rW   rO   z%.2f)float_formatr   rm   )gQ?gq=
ףp?g=
ףp=?)gp=
ף(@r  r  r  )r   rb   r  rf   rg   s        r   test_to_csv_float_formatz+TestDataFrameToCSV.test_to_csv_float_format  s   +++-K-K-KL*#OO
 
 
 _ 		*(IIhVI444(a000B###%B%B%BCCj'  B
 !"b)))		* 		* 		* 		* 		* 		* 		* 		* 		* 		* 		* 		* 		* 		* 		* 		* 		* 		*s   ABBBc                     t          dddgi          }|                    dd d          }g d}t          j        |          }||k    sJ d S )	NrJ   rB  r  r  c                 .    t          j        | d          S )N-)trim)r4   format_float_positionalr   s    r   r   zJTestDataFrameToCSV.test_to_csv_float_format_over_decimal.<locals>.<lambda>  s    2#=ac#J#J#J r   F)decimalr  r&   )rJ   z0.51)r   r8   r2   convert_rows_list_to_csv_strr   rb   rc   expected_rowsr  s        r   %test_to_csv_float_format_over_decimalz8TestDataFrameToCSV.test_to_csv_float_format_over_decimal  sp    c3Z())JJ  
 

 *))2=AA!!!!!!r   c                     t          g dg dd          }t                      }|                    |dt          j        d           |                                }g d}t          j        |          }||k    sJ d S )NrM  )ro  rs  ru  r  Fr  )r&   quotingr   )z"A","B"z1,"foo"z2,"bar"z3,"baz")r   r   r8   csvQUOTE_NONNUMERICgetvaluer2   r  )r   rb   r  rc   r   r  s         r   !test_to_csv_unicodewriter_quotingz4TestDataFrameToCSV.test_to_csv_unicodewriter_quoting  s    YYY-B-B-BCCDDjj
		#UC,@7	SSSDDD2=AA!!!!!!r   r   r  c                     t          dddgi          }t                      }|                    |t          j        |d           |                                }g d}t          j        |          }||k    sJ d S )Nr   hello	{"hello"}F)r  r   r&   )r   r	  r
  )r   r   r8   r  
QUOTE_NONEr  r2   r  )r   r   rb   r  rc   r   r  s          r   test_to_csv_quote_nonez)TestDataFrameToCSV.test_to_csv_quote_none  s     g{3455jj
		#s~	NNN3332=AA!!!!!!r   c                     t          g dg ddg d          }t                      }|                    |d           g d}t          j        |          }|                                |k    sJ d S )	NrM  rN  r  onetwothreer%   Fr(   )zA,Bzone,1,4ztwo,2,5z	three,3,6)r   r   r8   r2   r  r  )r   rb   r  r   r  s        r   "test_to_csv_index_no_leading_commaz5TestDataFrameToCSV.test_to_csv_index_no_leading_comma  s    YYYYYY77?V?V?VWWWjj
		#5	)))BBB2=AA||~~))))))r   c                    t          g dg ddg d          }t          j                    5 }|                    |d           d}t	          |d	
          5 }|                                |k    sJ 	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j                    5 }|                    |d           d}t	          |d	
          5 }|                                |k    sJ 	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j                    5 }|                    |           t          j                            d          }d|z   dz   |z   dz   |z   dz   |z   }t	          |d	
          5 }|                                |k    sJ 	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )NrM  rN  r  r  r%   
lineterminators#   ,A,B
one,1,4
two,2,5
three,3,6
rb)rl   
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   r2   r3   r8   r  readoslinesepencode)r   rb   r   r  r   
os_lineseps         r   test_to_csv_lineterminatorsz.TestDataFrameToCSV.test_to_csv_lineterminators  s   YYYYYY77?V?V?VWWW_ 	,$IId6I222EHd&&& ,!vvxx8+++++, , , , , , , , , , , , , , ,	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, _ 	,$IId4I000=Hd&&& ,!vvxx8+++++, , , , , , , , , , , , , , ,	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, _ 	,$IIdOOO**733J  	
     d&&& ,!vvxx8+++++, , , , , , , , , , , , , , ,	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,s   +BB5BB	BB		BBB6+D !D	=D 	D	D D	D  D$'D$>AGG7GG	G
G	GG"Gc                    t          t          j        g d                    }t          g d          }t                      }|                    |d           t                      }|                    |d           |                                |                                k    sJ t          d|i          }t          d|i          }t                      }|                    |           t                      }|                    |           |                                |                                k    sJ d S )N)rJ   rK   rK   rJ   rJ   r   r   r   Fr#   r   )r	   rw   Categoricalr   r8   r  r   )r   r   r1   resr  rb   rz   s          r    test_to_csv_from_csv_categoricalz3TestDataFrameToCSV.test_to_csv_from_csv_categorical  s    2>"J"J"JKKLL<<<==jj	U###jj
		#e	$$$||~~////Qx  b	""jj
		#jj

3||~~//////r   c                     |                     d           }t          |t                    sJ t          t	          |          d          }t          j        ||           d S )N)path_or_bufr   rm   )r8   r   r   r   r   r2   r:   )r   rA   csv_strrC   s       r   test_to_csv_path_is_nonez+TestDataFrameToCSV.test_to_csv_path_is_none  sc     $$$66'3'''''(7++q999
k622222r   zdf,encodingr  r  r   r    r  rO   )r  defghir!   asciir   ){   u   你好u   世界gb2312)r*  u   Γειά σουu
   Κόσμεcp737c           
      r   t          j                    5 }|                    |||           t          ||d|          }t          j        ||           t          |d||          5 }|                    |j        |           |j        j        rJ 	 d d d            n# 1 swxY w Y   t          |||d                              d          }t          j        ||           t          j	        ||          5 }|
                                                    |pd          }|j        D ]}	|	|v sJ 		 d d d            n# 1 swxY w Y   t          j	        ||          5 }t          j        |t          |d|	                     d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )
N)compressionr   r   )r.  r   r   wr  )r.  r   r   r"   r   r  )r2   r3   r8   r   r:   r   handleclosedsqueezedecompress_filer  r   r"   )
r   rb   r   r.  r  rc   handlesfhtextcols
             r   test_to_csv_compressionz*TestDataFrameToCSV.test_to_csv_compression  s   0 _ 	X(IIhK(IKKKkQ  F !"f--- #;   1		'.8	<<<">00000	1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 '!	  
 gi    !"f--- #Hk:: 'bwwyy''(:F;;: ' 'C$;;;;;'' ' ' ' ' ' ' ' ' ' ' ' ' ' '
 #Hk:: Xb%b(2X*V*V*VWWWX X X X X X X X X X X X X X X;	X 	X 	X 	X 	X 	X 	X 	X 	X 	X 	X 	X 	X 	X 	X 	X 	X 	Xs   AF,(+B F, B$	$F,'B$	(AF,;:E6F,E	F,	E	
F,"&FF,F	F,F	F,,F03F0c                 R   t          j        d          5 }|j        }t          ||                    d          d|          }|                    |d           t          |d          }|                    d	           }|j                            d
           |_        t          j        ||           |                    |d           t          |d          }|                    d           }|j                            d           |_        t          j        ||           |j	        }|                    |d           t          |d          }|                    d           }|j
                            d           |_
        t          j        ||           t          dgdz  g dz             }t          d|i|          }	|	                    |d           t          |ddgd          }t          j        ||	           d d d            d S # 1 swxY w Y   d S )N__tmp_to_csv_date_format__r+   r  r%   %Y%m%ddate_formatr   rm   c                 F    t          |                     d                    S Nr;  rp   strftimer   s    r   r   z<TestDataFrameToCSV.test_to_csv_date_format.<locals>.<lambda>N  s    c!**XBVBV>W>W r   c                 F    t          |                     d                    S r?  r@  r   s    r   r   z<TestDataFrameToCSV.test_to_csv_date_format.<locals>.<lambda>P      #ajj2233 r   %Y-%m-%dc                 ,    |                      d          S NrD  rA  r   s    r   r   z<TestDataFrameToCSV.test_to_csv_date_format.<locals>.<lambda>Y  s    ajj>T>T r   c                 ,    |                      d          S rF  rG  r   s    r   r   z<TestDataFrameToCSV.test_to_csv_date_format.<locals>.<lambda>[  s    !**Z00 r   c                 F    t          |                     d                    S r?  r@  r   s    r   r   z<TestDataFrameToCSV.test_to_csv_date_format.<locals>.<lambda>g  rC  r   c                 ,    |                      d          S r?  rG  r   s    r   r   z<TestDataFrameToCSV.test_to_csv_date_format.<locals>.<lambda>k  s    !**X.. r   r   r   )
2000-01-01rK  rK  r   )r'   r   )r2   r3   r&   r   shiftr8   r   r   r:   Tr"   r   )
r   rB   r   r   r]  datetime_frame_intdatetime_frame_strdatetime_frame_columns	nat_index	nat_frames
             r   test_to_csv_date_formatz*TestDataFrameToCSV.test_to_csv_date_formatC  s   _9:: 5	3d%+H&X^^A%6%677x  N !!$H!=== DA...D!/!3!34W4W!X!X'9'?'C'C33( ($ !$(:;;;!!$J!??? DA...D!/!3!34T4T!U!U'9'?'C'C00( ($ !$(:;;; &4%5""))$H)EEEDA...D%;%?%?33& &" .D-K-O-O... ."* !$(>??? $"IIII I "3	"2)DDDITz:::Dq!fBBBD!$	222k5	3 5	3 5	3 5	3 5	3 5	3 5	3 5	3 5	3 5	3 5	3 5	3 5	3 5	3 5	3 5	3 5	3 5	3s   G:HH #H tdr   10sc                    t          j        d          5 }t          ddddd          }||z   }|                    d           }t	          j        t          t          |                    d	          }t          d
|i|          }|	                    |d           t          |d          }t          |j        d                              d          |_        t          j        ||           d d d            d S # 1 swxY w Y   d S )Ncsv_date_format_with_dstz2013-10-26 23:00z2013-10-27 01:00zEurope/LondonrD  infer)r   r   	ambiguousr@   r-   r   r%   Tr   rm   utc)r2   r3   r   r9   r4   r   r>   r;   r   r8   r   r   r&   r   r:   )r   rT  r   timesr   
time_rangerb   rc   s           r    test_to_csv_with_dst_transitionsz3TestDataFrameToCSV.test_to_csv_with_dst_transitions{  sR   _788 	.D"""!  E 
AT""A%A--w???JC,A666BIId$I''' da000F&v|>>>II FL !&"---)	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.s   CC??DDc                 (   t          dddd          }|                    d           }d |j        _        t	          d|d|          }t          j        d	          5 }|                    |d
           t          |d          }t          |j
        d
                              d          |_
        t          |d         d
                              d          |d<   t          j        ||           d d d            n# 1 swxY w Y   |                    t                     t          j        d	          5 }|                    |           t!          j        |          }t          j        ||           d d d            d S # 1 swxY w Y   d S )Nz
2015-01-01z
2015-12-31rD  zEurope/Paris)r   r   r+   )r=   idxr%   rW  Tr   rm   rZ  r`  zdatetime64[ns, Europe/Paris])r   r9   _data_freqr   r2   r3   r8   r   r   r&   r   r  r:   r   	to_picklerw   read_pickle)r   r`  rb   r   rc   s        r   ,test_to_csv_with_dst_transitions_with_picklez?TestDataFrameToCSV.test_to_csv_with_dst_transitions_with_pickle  s   |#.QQQnnT""	!C00<<<_788 		.DIId$I'''da000F&v|>>>II FL (u4@@@GG. F5M !&"---		. 		. 		. 		. 		. 		. 		. 		. 		. 		. 		. 		. 		. 		. 		. 			#_788 	.DLL^D))F!&"---	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.s%   BDD	D;?FFFc                    t          ddgddgdt          j        gddgd          }g d	}t          j        |          }|                                }||k    sJ |                    d 
          }||k    sJ g d	}t          j        |          }|                    t          j        
          }||k    sJ g d}t          j        |          }|                    t          j        
          }||k    sJ g d}t          j        |          }|                    t          j	        
          }||k    sJ d}t          j        t          j        |          5  |                    t          j        
           d d d            n# 1 swxY w Y   t          j        t          j        |          5  |                    t          j        d            d d d            n# 1 swxY w Y   g d}t          j        |          }|                    t          j        d          }||k    sJ g d}t          j        |          }|                    t          j        d          }||k    sJ ddg}t          j        |          }t          t          |                    }t                      }|                    |dd           |                                |k    sJ t          ddgddgddgd          }|                    ddg          }g d }t          j        |          }|                    t          j        
          |k    sJ d S )!NTFr  g	@*   rJ   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")rn  z0,True,1.0,42.0,"a"z1,False,3.2,"","b,c"z%need to escape, but no escapechar setrX   )r  
escapechar)rl  rm  z1,False,3.2,,b!,c!)z,c_bool,c_ffloat,c_int,c_stringrm  z1,False,3.2,,bf,cr   za,b,cz1,"test 
",3r  r  r+   r/   r,   r  r   rO  rX  rK   )z"a","b","c"z"1","3","5"z"2","4","6")r   r4   r5   r2   r  r8   r  QUOTE_MINIMAL	QUOTE_ALLr  r_   r`   Errorr  r   r   r  	set_index)	r   rb   r   r  rc   rh   	text_rowsr6  r  s	            r   test_to_csv_quotingz&TestDataFrameToCSV.test_to_csv_quoting  s   -:bf %L	 
 

 
 

 2=AA!!!!4((!!!!
 
 

 2=AA3#455!!!!
 
 

 2=AA3=11!!!!
 
 

 2=AA3#788!!!!5]39C000 	. 	.IIcnI---	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. ]39C000 	? 	?IIcnI>>>	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	?
 
 

 2=AA3>cBB!!!!
 
 

 2=AA3>cBB!!!! /0	.y99htnn%%jj
		#u	555||~~%%%% aV1a&1v>>??\\3*%%EEE2=AAyyy//8;;;;;;s$   !FFF3"G!!G%(G%c                    g d}t          j        |d          }t          g d|          }|                                }g d}t	          j        |          }||k    sJ d}|                    |          }g d	}t	          j        |          }||k    sJ d
t          dg}t          j        |d          }t          g d|          }|                                }g d}t	          j        |          }||k    sJ d S )N)
1990-01-01rK  
3005-01-01r  )r   rN  r%   ),01990-01-01,4z2000-01-01,53005-01-01,6z%m-%d-%Yr<  )rz  z01-01-1990,4z01-01-2000,5z01-01-3005,6rx  ry  )rz  r{  z,5r|  )rw   PeriodIndexr   r8   r2   r  r   )r   datesr&   rb   rc   r   r  r=  s           r   test_period_index_date_overflowz2TestDataFrameToCSV.test_period_index_date_overflow  s-    ;::u3///yyy...NNN2=AA!!!! {33NNN2=AA!!!! sL1u3///yyy...DDD2=AA!!!!!!r   c                     t          j        g d          }t          g dg dg          }||_        g d}|                    |          }g d}t          j        |          }||k    sJ d S )N))rJ   r+   )rJ   r/   )rK   r+   )rK   r/   r  )r   rO  rR  rS  )rJ   rK   r   dr#   )z,a,b,c,dz	0,1,2,3,4z	1,5,6,7,8)r   r]   r   r"   r8   r2   r  )r   r"   rb   r$   rc   r   r  s          r   test_multi_index_headerz*TestDataFrameToCSV.test_multi_index_header-  s    ()Q)Q)QRRlll344
%%%&))>>>2=AA!!!!!!r   c                     t          g d          }t          g dg|          }|                    ddg          }d}|                    d          }t	          j        ||           d S )	N)r+   )r/   r,   rM  r!   r  r  z,1,3
0,1,3
r  r  )r   r   reindexr8   r2   r<   )r   r&   rb   r  rc   s        r   $test_to_csv_single_level_multi_indexz7TestDataFrameToCSV.test_to_csv_single_level_multi_index:  sv    ((())			{E222ZZtZ--"$//
vx00000r   c                    t          dddgi          }g d}t          j        |          }t          j        d          5 }|                    |d           t          j        |d	          5 }|                                                    d
          }d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   ||k    sJ d S )NrJ   r+   r/   )rJ   r  2z__test_gz_lineend.csv.gzFr%   gzip)r.  r  )r   r2   r  r3   r8   r3  r  r   )r   rb   r   r  r   r   rc   s          r   test_gz_lineendz"TestDataFrameToCSV.test_gz_lineendC  sC   aV}%%'2=AA_788 	2DIId%I(((#Df=== 2112 2 2 2 2 2 2 2 2 2 2 2 2 2 2	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2
 !!!!!!s6    .B9.(B"B9"B&	&B9)B&	*B99B= B=c                     t          dt          dd          i          }t                      }|                    |           |                                }d|v sJ d S )NrJ   z1/1/2000r   r  rK  )r   r   r   r8   r  )r   r  r  rc   s       r   test_to_csv_numpy_16_bugz+TestDataFrameToCSV.test_to_csv_numpy_16_bugO  s`    3
:r B B BCDDjjSv%%%%%%r   c                     t          d d g                              d ddd                              dd          }d}||k    sJ d S )NFr  )r$   r&   r  r  r  z""
""
)r   r8   replace)r   rc   r  s      r   test_to_csv_na_quotingz)TestDataFrameToCSV.test_to_csv_na_quotingX  sZ     tTl##VDeBV??WVT"" 	
 !!!!!!r   c                 "   t          ddt          j        gd          }|d                             d          |d<   |d                             d          |d<   |                                }g d}t          j        |          }||k    sJ d S )NrL   r+   r   rK   Int16category)z,a,bz0,x,1z1,x,)r   rw   NAr  r8   r2   r  r  s        r   test_to_csv_categorical_and_eaz1TestDataFrameToCSV.test_to_csv_categorical_and_eac  s    S25z2233S'..))3S'..,,31112=AA!!!!!!r   c           	      ,   t          dt          j        t          d          t          d          d          gi          }|d                             d          |d<   |                                }ddg}t          j        |          }||k    sJ d S )	NrJ   r  z
2020-01-02both)r1  r  z,az.0,"[2020-01-01 00:00:00, 2020-01-02 00:00:00]")r   rw   Intervalr
   r  r8   r2   r  r  s        r   $test_to_csv_categorical_and_intervalz7TestDataFrameToCSV.test_to_csv_categorical_and_intervalm  s    K!,//!,//%  

 

 S'..,,3OP2=AA!!!!!!r   )NNNNF)C__name__
__module____qualname__r   rE   ri   r{   r   r   r   r_   markparametrizer   slowr   r   r	  filterwarningsr  r   r'  r*  r1  r>  rF  rJ  rV  r^  rf  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r"  r&  r   r8  rS  rw   r   r^  re  rv  r  r  r  r  r  r  r  r  r   r   r   r   r      s       ( ( ($. $. $.L"= "= "=H* * *E E E : : :A A A& [VdS#J%788"C "C 98"CH [A A A: g g g gR [[SSS C C  C [[SSS  [ "S"S"S  [Wlll33[ VWWC C XW 43   C( [[TTT  [Wlll33C C 43  
C [[W&A&A&ABBC C CB C$ [I I I
 [	C 	C 	C [[SSS  [Wiii00[ q!GQ<0q!GQ<0 155Q7O7OP	
 C C  10  C(K K K
K 
K 
K
. 
. 
.@ @ @1 1 1$X$ X$ X$t4 4 4"7 7 7+ + +.* .* .*`'. '. '.R. . .  [[*@*@*@AA	* 	* BA	* [& & &
D 
D 
D	+ 	+ 	+' ' '3 3 3* * *$
" 
" 
"	" 	" 	" [Z$99	" 	" :9	"* * *$, $, $,L0 0 003 3 3 [ 	3335S5S5ST*+OO  
  Y---.HHH'RYq55566PPPRZ[	???@@+OO   	
 .X X/ .XB63 63 63p [TLBLOO\R\%5H5H#IJJ. . KJ... . .2`< `< `<D" " ">" " "1 1 1
" 
" 
"& & &	" 	" 	"" " "" " " " "r   r   )r  ior   r  numpyr4   r_   pandas.errorsr   pandasrw   r   r   r   r   r	   r
   r   r   r   r   pandas._testing_testingr2   pandas.core.commoncorecommonr  pandas.io.commonr   r   r   r   r   <module>r     sQ   



       				      % % % % % %                                                    ' ' ' ' ' 'a" a" a" a" a" a" a" a" a" a"r   