
    PiG                         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	d Z
d	 Zej                            d
dddgg          d             Zej        j        d             Z	 	 	 	 	 drd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d0 Z d1 Z!d2 Z"d3 Z#d4 Z$d5 Z%d6 Z&ej                            d7g d8          d9             Z'ej        j        d:             Z(d; Z)d< Z*d= Z+d> Z,d? Z-d@ Z.dA Z/ej                            dBddCg          dD             Z0dE Z1dF Z2dG Z3dH Z4dI Z5dJ Z6ej                            dK e7g dLg dMgdNdOgg dPQ          df e7g dRgg dPS          dTf e7dUg dVgz  g dPS          dWf e7dUg dXgz  g dPS          dYfg          dZ             Z8d[ Z9ej                            d\ e:j;        d]          <                    d^           e:j;        d_          g          d`             Z=ej                            dadbdcgdddegg          df             Z>dg Z?dh Z@di ZAdj ZBdk ZCdl ZDdm ZEdn ZFdo ZGdp ZHdq ZIdS )sTestDataFrameToCSVc                 >    ddi} |j         di | t          |fi |S )N	index_colr    )updater   )selfpathkwargsparamss       z/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/frame/methods/test_to_csv.pyr   zTestDataFrameToCSV.read_csv   s:    q!'''''    c                 <   t          |          }t          j        |j        d d|j                            d          f<   |                    |           |                    |ddg           |                    |d           |                    |d           d S )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_csv1z(TestDataFrameToCSV.test_to_csv_from_csv1$   s    9~~AC![088===>4   4#s4444...4u-----r   c                    t          |          }|j                            d           |_        |                    |           |                     |d          }|                                }|j                            d          |_        t          j        ||           |                    |d           |                     |d d          }t          |j
                  t          |j
                  dz   k    sJ |                    |d	           |                     |d d          }t          j        |j        |j                   d S )
NT)parse_datesusr%   index_labelr   r0      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_datetimez1TestDataFrameToCSV.test_to_csv_from_csv1_datetime-   s7   9~~  .3>>tDDd###t66!&&((!//55
h///d888ttFF6>""c.*@&A&AA&EEEEE 	d%000ttFF
~4fmDDDDDr   c           
         t          |          }t          t          t          d          t	          j        dt          j                            t          t          d          t	          j        dt          j                            d          }|                    |           |                     |          }t          j
        ||           d S )N   dtyper$      )s1s2)r&   r   r	   ranger'   arangeint64r+   r   r9   r:   )r   r,   r   dmr?   s        r   !test_to_csv_from_csv1_corner_casez4TestDataFrameToCSV.test_to_csv_from_csv1_corner_caseB   s    9~~U1XXRYq-I-I-IJJJU1XXRYq-I-I-IJJJ 
 
 			$t$$
b&)))))r   c                    t          |          }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            d S # 1 swxY w Y   d S )NrF   rC   rC   arQ   b)xyzr%   r!   )r   r5   rF   rW   )r   r5   rF   r   r5   rF   Fr4   check_names)AAXYZr"   z Writing 4 cols but got 2 aliasesmatchr[   r\   )r&   r   r'   randomdefault_rngstandard_normalr+   r   r9   r:   r   from_tuplesr   r7   r!   pytestraises
ValueError)r   r,   r-   r   dfresultmidxcol_aliasesrsxpmsgs              r   test_to_csv_from_csv2z(TestDataFrameToCSV.test_to_csv_from_csv2O   s%   9~~I!!!$$44V<<!//#OO
 
 

 			$t$$
fb)))%&M&M&MNNI!!!$$44V<<#OO
 
 
 			$tyyyeLL
fbe<<<< 111224444]]4   

b"%%%0]:S111 	9 	9tT3K888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9s   ?G&&G*-G*c                 J   t          |          }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 S )
NrF   )rC   r5   rQ   F)moder#   r   r   c                 ,    g | ]}t          |          S r   int.0labels     r   
<listcomp>z<TestDataFrameToCSV.test_to_csv_from_csv3.<locals>.<listcomp>|       999Uc%jj999r   c                 ,    g | ]}t          |          S r   rt   rv   s     r   ry   z<TestDataFrameToCSV.test_to_csv_from_csv3.<locals>.<listcomp>}   rz   r   )r&   r   r'   ra   rb   rc   r+   pdconcatr   r!   r9   r:   )r   r,   r   df1df2rm   rl   s          r   test_to_csv_from_csv3z(TestDataFrameToCSV.test_to_csv_from_csv3s   s    9~~	--a00@@HHII	--a00@@HHII

4

4c%
000YSz""da(((99bj999
99bj999

b"%%%%%r   c           	         t          |          }t          j        d                              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 S )Nr5   )secondsr1   dt_datac                     g | ]}|z  S r   r   rw   idts     r   ry   z<TestDataFrameToCSV.test_to_csv_from_csv4.<locals>.<listcomp>       222AR222r   rC   c                     g | ]}|z  S r   r   r   s     r   ry   z<TestDataFrameToCSV.test_to_csv_from_csv4.<locals>.<listcomp>   r   r   dt_indexnamer$   rr   T)check_index_type)r&   r|   	Timedeltar8   r   rI   r   r+   r   to_timedeltar%   r9   r:   )r   r,   r   rh   ri   r   s        @r   test_to_csv_from_csv4z(TestDataFrameToCSV.test_to_csv_from_csv4   s    9~~\!$$$,,T222222q22232222q222DDD
 
 
 			$$*555v|44OF9,=>>y
b&4@@@@@@r   c                 ,   t          |          }                    |           t          |ddg          fd} |d          d<    |d          d<   d         j                            d          d<   t          j                   d S )Nr   r   r4   c                     t          |                    j                            d          j                            |          j        j                  j                            d          S )NUTCns)r   r   
tz_converttzr8   )cri   timezone_frames    r   <lambda>z:TestDataFrameToCSV.test_to_csv_from_csv5.<locals>.<lambda>   sL    k&),,

5!!

>!,/233 r   r   Cr   )r&   r+   r   r   r8   r9   r:   )r   r,   r   r   	converterri   s     `  @r   test_to_csv_from_csv5z(TestDataFrameToCSV.test_to_csv_from_csv5   s    9~~d###$!#???     	  innsinnsSkn,,T22s
fn55555r   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          |          }|                    |||           t          |d
          }t          j        ||         |d           d S )Nr         @rC   c                     g | ]}d | S zi-r   rw   r   s     r   ry   zBTestDataFrameToCSV.test_to_csv_cols_reordering.<locals>.<listcomp>       444aa444r   rQ   r   c                     g | ]}d | S r   r   r   s     r   ry   zBTestDataFrameToCSV.test_to_csv_cols_reordering.<locals>.<listcomp>       666888666r   rV   rF   r   r!   	chunksizerr   FrY   )ru   r   r'   onesr   rI   r!   r&   r+   r   r9   r:   )	r   r,   r   Nrh   cscolsr   rs_cs	            r   test_to_csv_cols_reorderingz.TestDataFrameToCSV.test_to_csv_cols_reordering   s    		C  GQFOO445884443???66U1XX666SAAA
 
 

 Z1r!u~9~~
		$		:::***
bh%@@@@@@r   r   NrR   rQ   c           	         d}t          |dz            }t          t          j        |df          t	          d t          |          D             d          g d          }t          |          }|                    |||	           t          |d
          }||j	        j
        r||_	        n<|j	                            |          \  }}	|j	                            |          |_	        |D ]T}
||
         }||
         }t          |t                    rt          j        ||           =t          j        ||d           Ud S |j	        |_	        t          j        ||d           d S )Nr   r   rC   c                     g | ]}d | S r   r   r   s     r   ry   z@TestDataFrameToCSV.test_to_csv_new_dupe_cols.<locals>.<listcomp>   r   r   rQ   r   rP   rV   r   r   rr   FrY   )ru   r   r'   r   r   rI   r&   r+   r   r!   	is_uniqueget_indexer_non_uniquetake
isinstancer	   r9   assert_series_equalr:   )r   r,   r   r   r   rh   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
 
 

 9~~
		$		:::*** z# 8##%:#D#DT#J#J !zw77 M MAaff-- M*66::::)&&eLLLLLM M :DL!"d>>>>>>r   c                    dd}d} ||dz             } ||dz   d          }t          |          }t          ||d          }|                    ||           |                     |                              t
                    }|d d          }	|	d                             d          |	d<   |	d	                             d          |	d	<   t          j        ||	d
           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periodsrF   r   d   )	ru   listr   r'   ra   rb   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   rQ   rR   r   rQ   M8[us]rR   FrY   N)	r&   r   r+   r   applyr   astyper9   r:   )
r   r,   r   r   rG   rH   r   rh   ri   r@   s
             r   test_to_csv_dtnatz$TestDataFrameToCSV.test_to_csv_dtnat   s    
	 
	 
	 
	 	^IM**^IM1--9~~Rb))**
		$)	,,,t$$**;77aaa5 ,,X66 ,,X66
fhEBBBBBBr   Fc	           	         ddi}	|rg|t          t          |                    |	d<   t          t          |                    |	d<   |                    |d|            | j        |fi |	n+d|	d<   |                    |d|            | j        |fi |	d |r|j        _        |rf|sdfd	t          |d
z
            D             }
t          j        t          j                  g|
          }|_        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 )Nr0   Fr   r#   utf8)encodingr   r   c                 Z    t          | t                    s|                     d          S | S )Nr   )r   r&   decoderS   s    r   _to_uniz;TestDataFrameToCSV._return_result_expected.<locals>._to_uni  s+    a%% (xx'''Hr   c                 <    g | ]}j         d d |f         j        S r   )r)   r=   )rw   r   r?   s     r   ry   z>TestDataFrameToCSV._return_result_expected.<locals>.<listcomp>  s+    LLLaQQQT*1LLLr   r5   r   fO)r   r   r   ur   pr   c                 &    g | ]} |          S r   r   rw   rx   r   s     r   ry   z>TestDataFrameToCSV._return_result_expected.<locals>.<listcomp>$  s!    >>>WWU^^>>>r   rD   c                 &    g | ]} |          S r   r   r   s     r   ry   z>TestDataFrameToCSV._return_result_expected.<locals>.<listcomp>'  s!    :::WWU^^:::r   r   c                 ,    g | ]}t          |          S r   r
   rv   s     r   ry   z>TestDataFrameToCSV._return_result_expected.<locals>.<listcomp>,  s     @@@%Yu%%@@@r   c                 ,    g | ]}t          |          S r   r   rv   s     r   ry   z>TestDataFrameToCSV._return_result_expected.<locals>.<listcomp>/       <<<%Yu%%<<<r   r   c                 ,    g | ]}t          |          S r   r   rv   s     r   ry   z>TestDataFrameToCSV._return_result_expected.<locals>.<listcomp>5  r   r   c                 &    g | ]} |          S r   r   r   s     r   ry   z>TestDataFrameToCSV._return_result_expected.<locals>.<listcomp>B  s!    @@@WWU^^@@@r   c                 &    g | ]} |          S r   r   r   s     r   ry   z>TestDataFrameToCSV._return_result_expected.<locals>.<listcomp>E  s!    <<<WWU^^<<<r   c                 ,    g | ]}t          |          S r   r   rv   s     r   ry   z>TestDataFrameToCSV._return_result_expected.<locals>.<listcomp>J  s     BBB%Yu%%BBBr   c                 ,    g | ]}t          |          S r   r   rv   s     r   ry   z>TestDataFrameToCSV._return_result_expected.<locals>.<listcomp>M  s     >>>%Yu%%>>>r   c                 ,    g | ]}t          |          S r   r   rv   s     r   ry   z>TestDataFrameToCSV._return_result_expected.<locals>.<listcomp>S  r   r   c                 ,    g | ]}t          |          S r   r   rv   s     r   ry   z>TestDataFrameToCSV._return_result_expected.<locals>.<listcomp>W  r   r   )r   rI   r+   r   r!   r   from_arraysr%   r)   r'   arrayr   mapr
   to_timestampget)r   rh   r   r,   r_dtypec_dtypernlvlcnlvldupe_colr   	delta_lvlixtype_mapidx_listcol_listr   r?   s                  @@r   _return_result_expectedz*TestDataFrameToCSV._return_result_expected   s     ' 	8 &*5<<&8&8{##E%LL11F8IIi&IIFFF"T]97777FF F8IIi&IIFFF"T]97777F	 	 	
  	(  ZFN 	1 	1LLLL5;K;KLLLI'fl););(Hi(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r   nrows)rF   
   c   r   e   f                           c           	      V   t          t          j        |df          t          d|          t	          t          d          t                              }|                     |d|dd	          \  }}|j        	                    d
          |_        t          j        ||d           d S )N   
2020-01-01r   abcdrD   rV   r   r   r   r   FrY   )r   r'   r   r   r   r   objectr   r%   r   r9   r:   )r   r   r,   rh   ri   r@   s         r   test_to_csv_nrowsz$TestDataFrameToCSV.test_to_csv_nrows_  s    
 GUAJ\5999$v,,f555
 
 

  77D)TSVWW!..x88
fhEBBBBBBr   zr_idx_type, c_idx_type))r   r   )r   r   )r   r   )r   r   ncolsr5   rF   rC   r  z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                 6   d d d d d}t          t          j        ||f           ||         |           ||         |                    }|                     |d|||          \  }}	|dk    r |	j                            d	          |	_        n%|d
k    r|	j                            d	          |	_        |dk    r |	j                            d	          |	_        n%|d
k    r|	j                            d	          |	_        t          j        ||	d           d S )Nc                 \    t          t          j        |           t          j                  S )NrD   )r   r'   rJ   rK   r   s    r   r   z:TestDataFrameToCSV.test_to_csv_idx_types.<locals>.<lambda>x  s    51RX>>> r   c                 V    t          d t          dd| z             D                       S )Nc                 6    g | ]}| d t          |           S )_)chrr   s     r   ry   zNTestDataFrameToCSV.test_to_csv_idx_types.<locals>.<lambda>.<locals>.<listcomp>y  s(    !M!M!MaQ//Q//!M!M!Mr   a   )r   rI   r  s    r   r   z:TestDataFrameToCSV.test_to_csv_idx_types.<locals>.<lambda>y  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>z  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>{  s    <acJJJ r   )r   r   r   r   rV   r   r   r   r   FrY   )	r   r'   r   r   r%   r   r!   r9   r:   )
r   r   
r_idx_type
c_idx_typer  r,   axesrh   ri   r@   s
             r   test_to_csv_idx_typesz(TestDataFrameToCSV.test_to_csv_idx_typesm  sO    ?>NN??JJ	
 
 GUEN##"$z"5))$D$U++
 
 

  77
 
 %^228<<HNN3%^228<<HN'/66x@@H3'/66x@@H
fhEBBBBBBr   )r   b   r   r   r   r   r   r   r   r   r  r  r  r  c           
      L   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   ry   z<TestDataFrameToCSV.test_to_csv_idx_ncols.<locals>.<listcomp>      888aa888r   rQ   r   c                     g | ]}d | S r   r   r   s     r   ry   z<TestDataFrameToCSV.test_to_csv_idx_ncols.<locals>.<listcomp>  s    :::888:::r   rV   r   FrY   )r   r'   r   r   rI   r   r9   r:   )r   r   r  r,   rh   ri   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)LL
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 )NrC   c                     g | ]}d | S r   r   r   s     r   ry   z;TestDataFrameToCSV.test_to_csv_dup_cols.<locals>.<listcomp>  r   r   rQ   r   c                     g | ]}d | S r   r   r   s     r   ry   z;TestDataFrameToCSV.test_to_csv_dup_cols.<locals>.<listcomp>  r   r   rV   duperF   rduper   T)r   FrY   )r   r'   r   r   rI   r   r!   r%   r   r9   r:   )r   r   r,   rh   r   r   ri   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i$ 8 
 
 	fhEBBBBBBr   c                     t          t          j        dt          j                            }|                     |d|          \  }}t          j        ||d           d S )Nr   rD   r$   r   F)check_column_type)r   r'   rJ   rK   r   r9   r:   )r   r,   rh   ri   r@   s        r   test_to_csv_emptyz$TestDataFrameToCSV.test_to_csv_empty  s]    RYr:::;;;77D)LL
fh%HHHHHHr   c           
      X   d}|dz  dz   t          t          j        df          t          t	          d                    t          j        fdt          d          D                                 }|                     |||d          \  }}t          j
        ||d	           d S )
Nr   rF   r5   abc                 .    g | ]}t                    S r   rI   )rw   r  rowss     r   ry   z<TestDataFrameToCSV.test_to_csv_chunksize.<locals>.<listcomp>  s    )H)H)H!%++)H)H)Hr   r!   r%   )r   FrY   )r   r'   r   r   r   r   r   rI   r   r9   r:   )r   r,   r   rh   ri   r@   r1  s         @r   test_to_csv_chunksizez(TestDataFrameToCSV.test_to_csv_chunksize  s    	A~!GT1I$t**%%()H)H)H)HuQxx)H)H)HII
 
 

  77	9A 8 
 
 	fhEBBBBBBr   )rF   rC   r  zdf_params, func_paramsr_idx_nlevelsrF   r   c_idx_nlevelsr   )r4  r5  )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          j        f          ||          } | j        |d|fi |\  }	}
t          j
        |	|
d	           d S )
Nr4  c              3   J   K   | ]}d  t                    D             V  dS )c                     g | ]}d | S r   r   r   s     r   ry   zCTestDataFrameToCSV.test_to_csv_params.<locals>.<genexpr>.<listcomp>      000aa000r   Nr0  )rw   r  r   s     r   	<genexpr>z8TestDataFrameToCSV.test_to_csv_params.<locals>.<genexpr>  sK       + + 105<<000+ + + + + +r   r5  c              3   J   K   | ]}d  t                    D             V  dS )c                     g | ]}d | S r   r   r   s     r   ry   zCTestDataFrameToCSV.test_to_csv_params.<locals>.<genexpr>.<listcomp>  r9  r   Nr0  )rw   r  r  s     r   r:  z8TestDataFrameToCSV.test_to_csv_params.<locals>.<genexpr>  sK       - - 105<<000- - - - - -r   c                     g | ]}d | S r   r   r   s     r   ry   z9TestDataFrameToCSV.test_to_csv_params.<locals>.<listcomp>  s    <<<!X!XX<<<r   rV   r   FrY   )r   r   r   rI   r   r   r'   r   r   r9   r:   )r   r   	df_paramsfunc_paramsr  r,   r%   r!   rh   ri   r@   s    `  `      r   test_to_csv_paramsz%TestDataFrameToCSV.test_to_csv_params  sV    ==)) 	* + + + +y9::+ + +  EE
 E==)) 	> , - - - -y9::- - -  GG
 <<uU||<<<==Grwu~..eWMMM747i
 
#.
 
 	fhEBBBBBBr   c                 r   t           j        |d<   d }|j                            |          |d<   t	          |          }|                    |           |                     |          }t          j        ||           t          j        t          j	        |          t          j	        |                     d S )NGc                     t           j        t           j        gt           j                            d                                          dk              S )NrF         ?)r'   infr(   ra   rb   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)
r'   r(   r%   r   r&   r+   r   r9   r:   isinf)r   r,   r-   r   r   r?   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9~~4   t$$
k6222
bh{33RXf5E5EFFFFFr   c                 R   t           j        |d<   t           j         |d<   t          |          }|                    |           |                     |          }t          j        ||           t          j        t          j        |          t          j        |                     d S )NEF)r'   rE  r&   r+   r   r9   r:   rG  )r   r,   r-   r   r?   s        r   test_to_csv_from_csv_w_all_infsz2TestDataFrameToCSV.test_to_csv_from_csv_w_all_infs  s    6CF7C9~~4   t$$
k6222
bh{33RXf5E5EFFFFFr   c                 h   t          |          }t          g dg dd          }|                    |d           t          |          }t	          j        ||           t          g dd          |d	<   |                    |d           t          |          }t	          j        ||           d S )
Nr5   rF   rC   r  r      )c1c2Fr$   )      	   rK   rD   c3)r&   r   r+   r   r9   r:   r	   )r   r,   r   rh   ri   s        r   test_to_csv_no_indexz'TestDataFrameToCSV.test_to_csv_no_index  s    9~~iiiyyy99::
		$e	$$$$
b&))))))73334
		$e	$$$$
b&)))))r   c                     t          g dg dd          }d|d<   |                                |                    g d          k    sJ d S )NrQ   rR   r   )aabbcc)r   r5   txttest)r   r5   r^  r    )r   r+   )r   rh   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          |          }|                    |dd	g
           |                     |          }t	          j        ||           |                    |ddd	g           |                     |          }|                    d          }|J t	          j        ||           d S )Nr5   rF   rC   r  r   r   r    r\   r]   r"   F)r%   r#   T)inplace)r   r&   r+   r   r9   r:   reset_index)r   r,   from_dfto_dfr   r?   return_values          r   test_to_csv_headersz&TestDataFrameToCSV.test_to_csv_headers  s     aVaV,sCjAAAAq6Aq6*S#J???9~~tS#J///t$$
eV,,,t5#s<<<t$$))$)77###
eV,,,,,r   c           
         |}|j         }t          j        t          |          dz  t          j                                      dd          }t          j        |ddg          }||_         t          |          }|	                    |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         g          |_         t          j        ||d           |
	                    |           | 
                    |d           }t          |j                  t          |
j                  dz   k    sJ |
	                    |d           | 
                    |d           }t          j        |j        |j                   ||_         d.d}t+          t          j        d          t          j        d t/          d          D             t1          d                    t          j        d t/          d          D             t1          d                               }	|		                    |           t          |g d!ddg"          }t          j        |	|           t+          t          j        d          t          j        d# t/          d          D             t1          d                              }	|		                    |           t          |g d!d"          }t          j        |	|           t+          t          j        d          t          j        d$ t/          d          D             t1          d                    t          j        d% t/          d&          D             t1          d'                               }	|		                    |           t          |g d!g d("          }t          j        |	|            |            }	|		                    |d           t          |ddg          }t          j        |	|            |d          }	|		                    |d           t          |ddg          }t3          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+}t7          j        t:          |          5  t          |t1          t/          |                    d"           d d d            n# 1 swxY w Y   hd,}t7          j        t<          |          5  |		                    |dd-g           d d d            n# 1 swxY w Y   |
d d         	                    |           | 
                    |          }|
d d         }g |_         t          j        |j        |j                   t          |          dk    sJ d S )/NrF   rD   firstsecondnamesFr"   r   r   r    r   r5   r4   rY   timefoor2   zCould not infer formatr_   Tr1   rr   r$   c                     | du rddg} t          t          j                            d                              ddd          t          j        g d	| 
          d          S )NTri  rj  rF   r   r   rO   )size))bahrn  )rq  bar)banbazrk  rK   r!   rE   )r   r'   ra   rb   r   r   rd   rk  s    r   _make_framez>TestDataFrameToCSV.test_to_csv_multiindex.<locals>._make_frame`  sy    }} (+	%%a((11!Rf1EE".DDDE      r   r   rC   c                 @    g | ]}d  t          d          D             S )c                     g | ]}d | S r   r   r   s     r   ry   zHTestDataFrameToCSV.test_to_csv_multiindex.<locals>.<listcomp>.<listcomp>o      ---q(q((---r   rC   r0  rw   r  s     r   ry   z=TestDataFrameToCSV.test_to_csv_multiindex.<locals>.<listcomp>o  -    @@@!--E!HH---@@@r   r  r	  c                 @    g | ]}d  t          d          D             S )c                     g | ]}d | S r   r   r   s     r   ry   zHTestDataFrameToCSV.test_to_csv_multiindex.<locals>.<listcomp>.<listcomp>r  rz  r   r   r0  r{  s     r   ry   z=TestDataFrameToCSV.test_to_csv_multiindex.<locals>.<listcomp>r  r|  r   r.  r2  )r   r5   rF   rC   )r#   r   c                 @    g | ]}d  t          d          D             S )c                     g | ]}d | S r   r   r   s     r   ry   zHTestDataFrameToCSV.test_to_csv_multiindex.<locals>.<listcomp>.<listcomp>}  rz  r   rC   r0  r{  s     r   ry   z=TestDataFrameToCSV.test_to_csv_multiindex.<locals>.<listcomp>}  r|  r   c                 @    g | ]}d  t          d          D             S )c                     g | ]}d | S r   r   r   s     r   ry   zHTestDataFrameToCSV.test_to_csv_multiindex.<locals>.<listcomp>.<listcomp>  rz  r   rC   r0  r{  s     r   ry   z=TestDataFrameToCSV.test_to_csv_multiindex.<locals>.<listcomp>  r|  r   c                 @    g | ]}d  t          d          D             S )c                     g | ]}d | S r   r   r   s     r   ry   zHTestDataFrameToCSV.test_to_csv_multiindex.<locals>.<listcomp>.<listcomp>  rz  r   r   r0  r{  s     r   ry   z=TestDataFrameToCSV.test_to_csv_multiindex.<locals>.<listcomp>  r|  r   rC   abcrX   )rP  rS  zlen of z, but only 5 lines in filez%cannot specify cols with a MultiIndexrr  r   ) r%   r'   rJ   r;   rK   reshaper   r   r&   r+   r   r9   r:   rl  assert_produces_warningUserWarningr7   r8   r!   r<   r=   r   r   rI   r   comall_nonere   rf   r   	TypeErrorassert_index_equal)r   r,   r-   r>   frame	old_indexarrays	new_indexr   rh   tsframer?   r@   rv  ri   r   rn   exps                     r   test_to_csv_multiindexz)TestDataFrameToCSV.test_to_csv_multiindex-  sr   K	3y>>A-RX>>>FFq"MM*6'89LMMM	9~~T%(((TC:... 	T]]4Aq6u]EE 	eRU;;;;{ BHN2222 & !M		#i.. I I IJ	".y99t&%999';STTT 	M 	M]]4Aq6t]LLF	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M <<>>#/1B1B41H1H)TU,0WXX
fhEBBBB 	ttt446>""c'/&:&:Q&>>>>> 	t5)))tt44
v}n.CDDD  )		 		 		 		 GFOO*@@uQxx@@@V   (@@uQxx@@@T

  
 
 
 			))LLLQFKKK
b&))) GFOO*@@uQxx@@@V  
 
 
 			))LLLAFFF
b&))) GFOO*@@uQxx@@@V   (@@uQxx@@@U  
 
 
 			))LLLIIINNN
b&))) []]
		)5	))))QF333
b&))) [
		)5	))))QF333|V^12222!z/
b&))) []]
		))QFqcBBB
b&)))[
		))QFqcBBB
b&))) [
		) 	H 	HA9A999C{#666 H H4a>>QGGGGH H H H H H H H H H H H H H H 6]9C000 	9 	9IIi%I888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9%%%y))bqbk	
fnck:::6{{as6   GGG:-[33[7	:[7	]]	]c                    t          t          d          t          d          dt          j        dd                    }t          |          }|                    |           |                     |d          }|                                }|j	        
                    d          |_	        t          j        ||           d S )Nr  rC   r   r   r   r$   rr   r&   )r   r   rI   r|   interval_ranger&   r+   r   r7   r%   r   r9   r:   )r   r,   using_infer_stringrh   r   ri   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9~~
		$tq11 7799!..u55
fh/////r   c                    t          t          j                            d                              d                              t          j                            }t          j        |d<   t          |          }|	                    |d           t          |d          5 }|                                }|d                             d          d         d	k    sJ 	 d d d            d S # 1 swxY w Y   d S )
NrF   )r5   r  r5   i  )na_reputf-8r   ,999)r   r'   ra   rb   rc   r   float32r(   r&   r+   open	readlinessplit)r   r,   rh   r   r   liness         r   test_to_csv_float32_nanrepz-TestDataFrameToCSV.test_to_csv_float32_nanrep  s   I!!!$$44V<<CCBJOO
 
 19~~
		$s	###$))) 	3QKKMME8>>#&&q)U22222	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3s   #<C--C14C1c                     t          g dg dd          }t          |          }|                    |           |                     |          }t	          j        ||           d S )NrN  )z5,6z7,8z9,0r  r   r&   r+   r   r9   r:   r   r,   rh   r   r   s        r   test_to_csv_withcommasz)TestDataFrameToCSV.test_to_csv_withcommas  sf    YYY-B-B-BCCDD9~~
		$mmD!!
c2&&&&&r   c                    d }t          t          j                            d                              d          d |d                    }t          t          j                            d                              d                              d          d |d                    }t          d	|j         |d
                    }t          d|j         |d          d          }t          t          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!          |          }|                    |           t%          |d|	 |d                    }t'          j        ||           d S )Nc                 :      fdt          d          D             S )Nc                     g | ]	} |d 
S )03dr   )rw   r   r   s     r   ry   zMTestDataFrameToCSV.test_to_csv_mixed.<locals>.create_cols.<locals>.<listcomp>  s'    777t$Q$$$777r   r   r0  r   s   `r   create_colsz9TestDataFrameToCSV.test_to_csv_mixed.<locals>.create_cols  s#    7777eAhh7777r   rF   )r   r   float64float)rE   r!   rK   ru   TboolrV   rn  r
  )r%   r!   rE   20010101date   2   r5   rC   )axisr   )r   rE   r0   )r   r'   ra   rb   rc   r   r%   r
   r(   r)   r|   r}   r  rK   bool_r
  r&   r+   r   r9   r:   )r   r,   r  df_floatdf_intdf_bool	df_objectdf_dtrh   dtypesr   rE   r   r   rl   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X1F1Fh
 
 
	 j!!.K''
 
 
 %'FbeQqSj!!#
2b5!A#:Y&'9eD1MMM bj!BHRXv	
 	" 	"HAu ![^^ " "!q		" 9~~
		$dav;;vCVCVWWW
b"%%%%%r   c           	         t          t          j                            d                              d          t          t          d                    t          t          d                    z   d          }t          |          }|                    |           t          |d          }|j
        |_
        t          j        ||           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          |j        t          d                    }	t!          j        |||||	gdd          }g ddz  |_
        |                    |           t          |d          }dD ]}
t%          ||
                   ||
<   |j
        |_
        t          j        ||           d S )NrF   )r   r     r  ru  r   rr   )r   rC   rD   rK   TrC   rV   rn  r  r5   )r  ignore_indexrX   r   )z0.4z1.4z2.4)r   r'   ra   rb   rc   r   rI   r&   r+   r   r!   r9   r:   r   r%   r
   r|   r}   r   )r   r,   rh   r   ri   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
 
 
 9~~
		$$!,,,
fb)))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XXXYvw	59PT
 
 
 YY]

		))q111 ' 	/ 	/A#F1I..F1II
fb)))))r   c           	      |   t          t          j        d          t          d t	          d          D             d          t          g d                    }t          |          }|                    |           t          |d	          }|                    d
di          }t          j
        ||           d S )Nrw  c                     g | ]}d | S r   r   r   s     r   ry   z=TestDataFrameToCSV.test_to_csv_dups_cols2.<locals>.<listcomp>?  r   r   r   rn  r   rP   rV   r   rr   za.1rQ   r    )r   r'   r   r   rI   r&   r+   r   renamer9   r:   )r   r,   rh   r   ri   s        r   test_to_csv_dups_cols2z)TestDataFrameToCSV.test_to_csv_dups_cols2;  s    GFOO445884445AAA///**
 
 
 9~~
		$ $!,,,s|44
fb)))))r   r   )r5   r   r   c                 (   t          dt          d          i          }|j        dz   |d<   |j        dz   |d<   |j        dz   |d<   t          |          }|                    ||	           t          |d
          }t          j        ||           d S )Nr   r         ?r   g       @r   g      @r  r   r   rr   )r   rI   r   r&   r+   r   r9   r:   )r   r   r,   rZ  r   rl   s         r   test_to_csv_chunkingz'TestDataFrameToCSV.test_to_csv_chunkingK  s    U2YY'(($*3$*3$*39~~
		$)	,,,da(((
b"%%%%%r   c                    d}t          t          j                            d                              d|dz   f          d d           }t          |          }|                                5 }|                    d|           |                    |dd           d d d            n# 1 swxY w Y   t          |d 	          }t          j        ||           d S )
Nr   rF   r5   r   r2  z/pandas.io.formats.csvs._DEFAULT_CHUNKSIZE_CELLSF)r#   r%   r"   )r   r'   ra   rb   rc   r&   contextsetattrr+   r   r9   r:   )r   r,   monkeypatchr   rh   r   mrl   s           r   !test_to_csv_wide_frame_formattingz4TestDataFrameToCSV.test_to_csv_wide_frame_formattingW  s    	I!!!$$44aR5HII
 
 

 9~~  "" 	7aIIGSSSIId5I666	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 d4(((
b"%%%%%s   -/B((B,/B,c                 .   t          d          }|                     |d           }t          d||j        d                  i          }t	          |          }|                    |           t          |d          }t          j        ||d           d S )Nza,1.0
b,2.0r"   tr   rr   FrY   )r   r   r   r!   r&   r+   r9   r:   )r   r,   f1rh   newdfr   r?   s          r   test_to_csv_bugz"TestDataFrameToCSV.test_to_csv_bugg  s    n%%]]2d]++32:a= 12339~~T$!,,,
fe??????r   c                 D   t          dg di          }t          |          }|                    |d           t          |dd          }t	          j        ||           |                    |dd           t          |d d          }t	          j        ||           d S )	Nu   c/σrN  UTF-8r  r   r   r   Fr   r%   r  r  s        r   test_to_csv_unicodez&TestDataFrameToCSV.test_to_csv_unicodes  s    
III.//9~~
		$	)))tq7;;;
b#&&&
		$	666ttg>>>
b#&&&&&r   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  r2  r  r  r   r  )r   r   r+   seekr   r9   r:   )r   bufrh   r   s       r   test_to_csv_unicode_index_colz0TestDataFrameToCSV.test_to_csv_unicode_index_col~  s    rll)))+C+C+CD<<<X&
 
 
 			#	(((sa':::
b#&&&&&r   c                     t                      }|                    |           |                    d           t          |d          }t	          j        ||           d S )Nr   rr   )r   r+   r  r   r9   r:   )r   r-   r  r?   s       r   test_to_csv_stringioz'TestDataFrameToCSV.test_to_csv_stringio  sY    jj3#+++
fk22222r   c                    t          g dg dgddgg d          }t          |          }|                    |d           t          |d	
          }t          g dg dgddgg d          }t	          j        ||           d S )Ng~Ϛ?g9DܜJ?g>D)?g.4i(@33333@̤Ar   r   r\   r]   r^   rV   z%.2f)float_formatr   rr   )gQ?gq=
ףp?g=
ףp=?)gp=
ף(@r  r  r  )r   r,   rh   r   rl   rm   s         r   test_to_csv_float_formatz+TestDataFrameToCSV.test_to_csv_float_format  s    +++-K-K-KL*#OO
 
 
 9~~
		$V	,,,da(((!>!>!>?*#OO
 
 

 	b"%%%%%r   c                     t          dddgi          }|                    dd d          }g d}t          j        |          }||k    sJ d S )	NrQ   rD  r  r  c                 .    t          j        | d          S )N-)trim)r'   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%   )rQ   z0.51)r   r+   r9   convert_rows_list_to_csv_strr   rh   ri   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 )NrN  )rn  rr  rt  r  Fr  )r%   quotingr   )z"A","B"z1,"foo"z2,"bar"z3,"baz")r   r   r+   csvQUOTE_NONNUMERICgetvaluer9   r  )r   rh   r  ri   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   r+   r  
QUOTE_NONEr   r9   r  )r   r   rh   r  ri   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 )	NrN  rO  r  onetwothreer$   Fr2   )zA,Bzone,1,4ztwo,2,5z	three,3,6)r   r   r+   r9   r  r   )r   rh   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          |          }|                    |d           d}t          |d	
          5 }|                                |k    sJ 	 d d d            d S # 1 swxY w Y   d S )NrN  rO  r  r  r$   
lineterminators#   ,A,B
one,1,4
two,2,5
three,3,6
rbrq   r   r&   r+   r  readr   r,   rh   r   r@   r   s         r   test_to_csv_lineterminatorsz.TestDataFrameToCSV.test_to_csv_lineterminators  s    YYYYYY77?V?V?VWWW9~~
		$v	...A$T""" 	(a6688x'''''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(   A==BBc                    t          g dg ddg d          }t          |          }|                    |d           d}t          |d	
          5 }|                                |k    sJ 	 d d d            d S # 1 swxY w Y   d S )NrN  rO  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_lineterminators2z/TestDataFrameToCSV.test_to_csv_lineterminators2  s    YYYYYY77?V?V?VWWW9~~
		$t	,,,9$T""" 	(a6688x'''''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(r  c                 x   t          g dg ddg d          }t          |          }|                    |           t          j                            d          }d|z   dz   |z   d	z   |z   d
z   |z   }t          |d          5 }|                                |k    sJ 	 d d d            d S # 1 swxY w Y   d S )NrN  rO  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,   rh   r   
os_linesepr@   r   s          r   test_to_csv_lineterminators3z/TestDataFrameToCSV.test_to_csv_lineterminators3  s6   YYYYYY77?V?V?VWWW9~~
		$Z&&w//
  	
    	 $T""" 	(a6688x'''''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s   B//B36B3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)rQ   rR   rR   rQ   rQ   r   r   r   Fr"   r   )r	   r|   Categoricalr   r+   r   r   )r   r   rH   resr  rh   r   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   rr   )r+   r   r&   r   r   r9   r:   )r   r-   csv_strr?   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  rV   )r  defghir    asciir   ){   u   你好u   世界gb2312)r,  u   Γειά σουu
   Κόσμεcp737c           	      :   t          |          }|                    |||           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            d S # 1 swxY w Y   d S )
N)compressionr   r   )r0  r   r   wr  )r0  r   r   r!   r   r  )r&   r+   r   r9   r:   r   handleclosedsqueezedecompress_filer  r   r!   )r   r,   rh   r   r0  r   ri   handlesfhtextcols              r   test_to_csv_compressionz*TestDataFrameToCSV.test_to_csv_compression   s   0 9~~
		$K(	CCC$K1xXXX
b&))) #;
 
 
 	-IIgnxI888~,,,,,		- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- #	
 
 

 ')

 	 	b&))) k22 	#b7799##H$677Dz # #d{{{{{#	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#
 k22 	Tb!"hrQ&R&R&RSSS	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	Ts6   #+BB"B6:D==EE&FFFc                    t          |          }|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 S )Nr5   r  r$   %Y%m%ddate_formatr   rr   c                 F    t          |                     d                    S Nr<  ru   strftimer   s    r   r   z<TestDataFrameToCSV.test_to_csv_date_format.<locals>.<lambda>a  s    #ajj>R>R:S:S r   c                 F    t          |                     d                    S r@  rA  r   s    r   r   z<TestDataFrameToCSV.test_to_csv_date_format.<locals>.<lambda>c      c!**X..// r   %Y-%m-%dc                 ,    |                      d          S NrE  rB  r   s    r   r   z<TestDataFrameToCSV.test_to_csv_date_format.<locals>.<lambda>l  s    !**Z:P:P r   c                 ,    |                      d          S rG  rH  r   s    r   r   z<TestDataFrameToCSV.test_to_csv_date_format.<locals>.<lambda>n  s    ajj,, r   c                 F    t          |                     d                    S r@  rA  r   s    r   r   z<TestDataFrameToCSV.test_to_csv_date_format.<locals>.<lambda>z  rD  r   c                 ,    |                      d          S r@  rH  r   s    r   r   z<TestDataFrameToCSV.test_to_csv_date_format.<locals>.<lambda>~  s    ajj** r   r   r   )
2000-01-01rL  rL  r   )r0   r   )r&   r%   r   shiftr+   r   r   r9   r:   Tr!   r   )r   r,   r>   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_formatV  sT   9~~!'"!2!2338
 
 
 	d999 ***+//0S0STT#5#;#?#?//$
 $
  	d$6777d
;;; ***+//0P0PQQ#5#;#?#?,,$
 $
  	d$6777 "0!1%%d%AAA***!7!;!;//"
 "
 *@)G)K)K***
 *
& 	d$:;;;  GbLEEEE
 
	 sI.i@@@	:6661a&A>>>
dI.....r   tdr   r1   10sc                    t          |          }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 S )Nz2013-10-26 23:00z2013-10-27 01:00zEurope/LondonrF  infer)r   r   	ambiguousrK   rD   r   r$   Tr   rr   utc)r&   r   r6   r'   r   rI   r;   r   r+   r   r   r%   r   r9   r:   )	r   rU  r,   r   timesr   
time_rangerh   ri   s	            r    test_to_csv_with_dst_transitionsz3TestDataFrameToCSV.test_to_csv_with_dst_transitions  s    9~~
 
 
 BJLLXeCFFmm7;;;
Z(222
		$d	### $!,,,"6<T:::EEoVV
fb)))))r   z	start,endz
2015-03-29z
2015-03-30z
2015-10-25z
2015-10-26c                    t          ||ddd          }|                    d           }d |j        _        t	          d|d|          }|                    |d           t          |d	
          }t          |j        d          	                    d          
                    d          |_        t          |d         d                              d          |d<   t          j        ||           |                    t                     t          |          }|                    |           t!          j        |          }t          j        ||           d S )NrF  zEurope/Parisr   )r   r   unitr5   )r=   idxr$   Tr   rr   rZ  ra  zdatetime64[ns, Europe/Paris])r   r6   _data_freqr   r+   r   r   r%   r   r8   r   r9   r:   r&   	to_pickler|   read_pickle)r   startendr,   ra  rh   ri   r   s           r   ,test_to_csv_with_dst_transitions_with_picklez?TestDataFrameToCSV.test_to_csv_with_dst_transitions_with_pickle  sH    #.tLLLnnT""	!C00<<<
		)4	((()q111$///::>JJRRSWXX 	 $F5Mt<<<CC*
 
u 	fb))) 			#9~~
T%%
fb)))))r   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	@*   rQ   zb,c)c_boolc_floatc_intc_string),c_bool,c_float,c_int,c_string0,True,1.0,42.0,az1,False,3.2,,"b,c")r  )("","c_bool","c_float","c_int","c_string"z"0","True","1.0","42.0","a"z"1","False","3.2","","b,c")rq  z0,True,1.0,42.0,"a"z1,False,3.2,"","b,c"z%need to escape, but no escapechar setr_   )r  
escapechar)ro  rp  z1,False,3.2,,b!,c!)z,c_bool,c_ffloat,c_int,c_stringrp  z1,False,3.2,,bf,cr   za,b,cz1,"test 
",3r  r  r5   rF   rC   r  r   rP  rY  rR   )z"a","b","c"z"1","3","5"z"2","4","6")r   r'   r(   r9   r  r+   r  QUOTE_MINIMAL	QUOTE_ALLr  re   rf   Errorr  r   r   r   	set_index)	r   rh   r  r@   ri   rn   	text_rowsr8  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-01rL  
3005-01-01r  )r   rO  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  )r|   PeriodIndexr   r+   r9   r  r   )r   datesr%   rh   ri   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))rQ   r5   )rQ   rF   )rR   r5   )rR   rF   r  )r   rP  rS  rT  )rQ   rR   r   dr"   )z,a,b,c,dz	0,1,2,3,4z	1,5,6,7,8)r   rd   r   r!   r+   r9   r  )r   r!   rh   r#   ri   r  r@   s          r   test_multi_index_headerz*TestDataFrameToCSV.test_multi_index_headerE  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)r5   )rF   rC   rN  r    r  r  z,1,3
0,1,3
r  r  )r   r   reindexr+   r9   r<   )r   r%   rh   r@   ri   s        r   $test_to_csv_single_level_multi_indexz7TestDataFrameToCSV.test_to_csv_single_level_multi_indexR  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        |          }|dz  }|                                 t	          |          }|                    |d           t          j        |d	          5 }|                                                    d
          }d d d            n# 1 swxY w Y   ||k    sJ d S )NrQ   r5   rF   )rQ   r  2z__test_gz_lineend.csv.gzFr$   gzip)r0  r  )	r   r9   r  touchr&   r+   r5  r  r   )	r   tmp_pathrh   r  r@   	file_pathr   r   ri   s	            r   test_gz_lineendz"TestDataFrameToCSV.test_gz_lineend[  s   aV}%%'2=AA99	9~~
		$e	$$$&999 	.QVVXX__W--F	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. !!!!!!s   (B55B9<B9c                     t          dt          dd          i          }t                      }|                    |           |                                }d|v sJ d S )NrQ   z1/1/2000r   r  rL  )r   r   r   r+   r   )r   r  r  ri   s       r   test_to_csv_numpy_16_bugz+TestDataFrameToCSV.test_to_csv_numpy_16_bugi  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   r+   replace)r   ri   r@   s      r   test_to_csv_na_quotingz)TestDataFrameToCSV.test_to_csv_na_quotingr  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 )NrS   r5   r   rR   Int16category)z,a,bz0,x,1z1,x,)r   r|   NAr   r+   r9   r  r  s        r   test_to_csv_categorical_and_eaz1TestDataFrameToCSV.test_to_csv_categorical_and_ea}  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 )	NrQ   r  z
2020-01-02both)r3  r  z,az.0,"[2020-01-01 00:00:00, 2020-01-02 00:00:00]")r   r|   Intervalr
   r   r+   r9   r  r  s        r   $test_to_csv_categorical_and_intervalz7TestDataFrameToCSV.test_to_csv_categorical_and_interval  s    K!,//!,//%  

 

 S'..,,3OP2=AA!!!!!!r   c                 r   t          dg di          }d}|dz  }|dz  }t          j        t          |d          5  |                    |d           d d d            n# 1 swxY w Y   t          j        t          |d          5  |                    |d           d d d            d S # 1 swxY w Y   d S )	NrQ   rN  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)r`   raise_on_extra_warningsr  )r   r9   r  RuntimeWarningr+   )r   r  rh   rn   zip_pathtar_paths         r   -test_to_csv_warn_when_zip_tar_and_append_modez@TestDataFrameToCSV.test_to_csv_warn_when_zip_tar_and_append_mode  sb   YYY'((Q 	 j(j('#u
 
 
 	* 	* IIhSI)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*
 '#u
 
 
 	* 	* IIhSI)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s#   A  A$'A$B,,B03B0c                     t          ddgdd gddgd          }|                    ddt          j        	          }g d
}t	          j        |          }||k    sJ d S )NrQ   r  zb"czde,f"z"c)col_acol_bcol_c"\)	quotecharrr  r  )z,col_a,col_b,col_cz0,a,b\"c,de\,f\"z	1,a2,,\"c)r   r+   r  r  r9   r  r  s        r   test_to_csv_escape_quotecharz/TestDataFrameToCSV.test_to_csv_escape_quotechar  s    t!4 
 
 ST3>RR
 
 

 2=AA!!!!!!r   )NNNNF)J__name__
__module____qualname__r   r.   rA   rM   ro   r   r   r   r   re   markparametrizer   slowr   r   r  filterwarningsr  r"  r)  r,  r3  r@  rH  rL  rW  r_  rf  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:  rT  r|   r   r8   r^  rh  ry  r  r  r  r  r  r  r  r  r  r  r   r   r   r   r      s|       ( ( (. . .E E E** * *"9 "9 "9H& & &A A A 6 6 6"A A A& [VdS#J%788"? "? 98"?H [C C CD f f f fP [[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,G G G
G 
G 
G
* 
* 
*@ @ @- - -$T  T  T l0 0 03 3 3' ' ',& ,& ,&\$* $* $*L* * *  [[***55	& 	& 65	& [& & &
@ 
@ 
@	' 	' 	'' ' '3 3 3& & &$
" 
" 
"	" 	" 	" [Z$99	" 	" :9	"* * *
( 
( 
(
( 
( 
(( ( (*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   	
 .T T/ .T>6/ 6/ 6/p [TLBLOO$;$;D$A$A<2<PUCVCV#WXX* * YX** [<(<(	
 * * *2`< `< `<D" " ">" " "1 1 1" " "& & &	" 	" 	"" " "" " "&* * *&" " " " "r   r   )r  ior   r  numpyr'   re   pandas.errorsr   pandasr|   r   r   r   r   r	   r
   r   r   r   r   pandas._testing_testingr9   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   