HOME


sh-3ll 1.0
DIR:/usr/local/lib64/python3.6/site-packages/pandas/tests/frame/__pycache__/
Upload File :
Current File : //usr/local/lib64/python3.6/site-packages/pandas/tests/frame/__pycache__/test_to_csv.cpython-36.pyc
3

���h6��@s�ddlZddlmZddlZddlZddlZddlmZddl	Z
ddl	mZmZm
Z
mZmZmZmZmZddljZddljjZddlmZdddgZd	d
ddd
dddgZGdd�d�ZdS)�N)�StringIO)�ParserError)�	DataFrame�Index�
MultiIndex�Series�	Timestamp�
date_range�read_csv�to_datetime)�
get_handleZfloat16�float32�float64Zuint8Zuint16Zuint32Zuint64Zint8Zint16Zint32�int64c
@seZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
ejj
dd��Zejj
dd��Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zejj
d-d.��Zd/d0�Zd1d2�Zd3d4�Zd5d6�Z d7d8�Z!d9d:�Z"d;d<�Z#d=d>�Z$d?d@�Z%dAdB�Z&dCdD�Z'ejj(dEe)dFdGdHgdIdJdKggdLdMgdNdOdPgdQ�dRfe)dSdTdUggdNdOdPgdV�dWfe)dXdYdZd[ggdNdOdPgdV�d\fe)dXdYd]d^ggdNdOdPgdV�d_fg�d`da��Z*dbdc�Z+ddde�Z,dfdg�Z-dhdi�Z.djdk�Z/dldm�Z0dndo�Z1dpdq�Z2dRS)r�TestDataFrameToCSVcKs&tddd�}|jf|�tj|f|�S)NrT)�	index_col�parse_dates)�dict�update�pdr
)�self�path�kwargs�params�r�@/tmp/pip-build-5_djhm0z/pandas/pandas/tests/frame/test_to_csv.pyr
(szTestDataFrameToCSV.read_csvc
CsJtjd���4}tj|ddd�<|j|�|j|ddgd�|j|dd�|j|dd�|jjd�|_|j|�|j|�}tj||�|j|d	d
�|j|dd�}t	|j
�t	|j
�dks�t�|j|dd�|j|dd�}tj|j
|j
�tttd
�tjd
�d�ttd�tjd�d�d��}|j|�|j|�}tj||�WdQRXdS)NZ__tmp_to_csv_from_csv1__�A��B)�columnsF)�header)�indexr!)�index_label)r���)�s1�s2)�tm�ensure_clean�np�nan�to_csvr!�
_with_freqr
�assert_frame_equal�lenr�AssertionError�assert_almost_equal�valuesrr�range�arange)r�float_frame�datetime_framer�recons�dmrrr�test_to_csv_from_csv1.s,




z(TestDataFrameToCSV.test_to_csv_from_csv1c
Cs0tjd���}ttjjdd�dddgdddgd�}|j|�|j|�}tj||�t	j
dddg�}ttjjdd�|dddgd�}|j|�|j|d
d
dgdd�}tj||dd�tddddg�}|j||d�|j|�}|j�}||_
tj||�d}	tjt|	d��|j|ddgd�WdQRXWdQRXdS)NZ__tmp_to_csv_from_csv2__r$�a�b�x�y�z)r!rrr#r%rrF)rr)�check_namesZAA�X�Y�Z)r z Writing 4 cols but got 2 aliases)�match)rr#r%)rr#r%)rr#r%)r(r)rr*�random�randnr,r
r.r�from_tuplesr�copyr�pytest�raises�
ValueError)
rr5r�df�resultZmidxZcol_aliases�rs�xp�msgrrr�test_to_csv_from_csv2Us("



z(TestDataFrameToCSV.test_to_csv_from_csv2cCs�tjd���}ttjjdd��}ttjjdd��}|j|�|j|ddd�tj||g�}tj	|dd�}d	d
�|j
D�|_
dd
�|j
D�|_
tj||�WdQRXdS)NZ__tmp_to_csv_from_csv3__r$r#r:F)�moder r)rcSsg|]}t|��qSr)�int)�.0�labelrrr�
<listcomp>sz<TestDataFrameToCSV.test_to_csv_from_csv3.<locals>.<listcomp>cSsg|]}t|��qSr)rR)rSrTrrrrU�s)r(r)rr*rDrEr,r�concatr
rr.)rrZdf1�df2rNrMrrr�test_to_csv_from_csv3us
z(TestDataFrameToCSV.test_to_csv_from_csv3c
s�tjd���}tjdd��tjd�fdd�td�D�itj�fdd�td�D�d	d
�d�}|j|�tj|d	d�}tj	|j
�|_
|j
jd	�|_
tj	|d�|d<tj||d
d�WdQRXdS)NZ__tmp_to_csv_from_csv4__r#)�secondsZdt_datacsg|]}|��qSrr)rS�i)�dtrrrU�sz<TestDataFrameToCSV.test_to_csv_from_csv4.<locals>.<listcomp>r$csg|]}|��qSrr)rSrZ)r[rrrU�s�dt_index)�name)r!)rT)Zcheck_index_type)
r(r)r�	Timedeltarr3rr,r
Zto_timedeltar!�renamer.)rrrKrLr)r[r�test_to_csv_from_csv4�s$
z(TestDataFrameToCSV.test_to_csv_from_csv4cshtjd��T}�j|�tj|ddgd����fdd�}|d��d<|d��d<tj���WdQRXdS)	NZ__tmp_to_csv_from_csv5__rr)rrcs$t�|�jjd�jj�|jj�S)N�UTC)rr[�
tz_convert�tz)�c)rL�timezone_framerr�<lambda>�sz:TestDataFrameToCSV.test_to_csv_from_csv5.<locals>.<lambda>r�C)r(r)r,rr
r.)rrer�	converterr)rLrer�test_to_csv_from_csv5�s
z(TestDataFrameToCSV.test_to_csv_from_csv5c	Cs�ddl}d}t|d�}tj|d�}|j}|d|dg}tj��$}|j|||d�|j|dd�}WdQRXtj|||dd	�dS)
Nrrg@r$r%)r�	chunksize)rF)r?)	�pandasrRr(�makeCustomDataframerr)r,r
r.)	rrrj�NrK�cs�colsr�rs_crrr�test_to_csv_cols_reordering�s
z.TestDataFrameToCSV.test_to_csv_cols_reorderingcs`ddl�d	��fdd�	}d�t�d�}tj|d�}dddg|_||d�ddg}|||�dS)
Nrc	
s�tj���}|j||�d��j|dd�}|dk	r�|jjr@||_n|jj|�\}}|jj|�|_x^|D]<}||}||}t|t	�r�tj
||�qdtj||dd�qdWn|j|_tj||dd�WdQRXdS)N)rrjr)rF)r?)r(r)r,r
rZ	is_uniqueZget_indexer_non_uniqueZtake�
isinstancerZassert_series_equalr.)	rKrorrpZindexer�missingrdZobj_dfZobj_rs)rjrrr�	_check_df�s 


z?TestDataFrameToCSV.test_to_csv_new_dupe_cols.<locals>._check_dfrg@r$r:r;)N)rkrRr(rlr)rrtrmrKror)rjrr�test_to_csv_new_dupe_cols�s
z,TestDataFrameToCSV.test_to_csv_new_dupe_colscs�ddlm�d�fdd�	}d}||d�}||dd�}tjd��H}tt||d��}|j||d	�|j|�jd
d
d�}tj	||dd
�WdQRXdS)Nr)�NaTcsr|dkrt|d�}ttdd|d��}|rnx$tjjdt|�|�D]}�||<q@Wtjjd�}�||<�||<|S)Ng�������?�2000Z5min)�freq�periodsr�d)rR�listr	r*rD�randintr/)�nZnnat�srZ)rvrr�make_dtnat_arr�s
z<TestDataFrameToCSV.test_to_csv_dtnat.<locals>.make_dtnat_arri�rz1.csv)r:r;)rjT)�datetimeZcoerceF)r?)N)
rkrvr(r)rrr,r
�_convertr.)rrrjr&r'�pthrKr7r)rvr�test_to_csv_dtnat�sz$TestDataFrameToCSV.test_to_csv_dtnatcs\d��fdd�	}d}d�x�dD]�}t�|p2dp2d�}xzdd	|d||d|dd|dd|dd|d|dd|d|d||dgD]}|tj||d
dd�d
d�q�WqWx�dD]�}t�|p�dp�d�}x|dd	|d||d|dd|dd|dd|d|dd|d|d||dgD] }|tj||d
dd�d
d��q.Wq�Wx�d#D]�\}}x�d$D]�}t�|�p�d�p�d�}x|dd	|d||d|dd|dd|dd|d|dd|d|d||dgD] }|tj||||d�||��q�W�qjW�q\Wx�d%D]�}t�|�p.d�p.d�}xvd	|d|d||d|dd|dd|dd|d|dd|d|d||dgD]}|tj||���q�W�qWx�d	|d|d||d|dgD]~}tj|d�}t|j�}	ddg|	dd�<ddg|	d&d�<t|j�}
ddg|
dd�<ddg|
d'd�<|
|_|	|_||dd��q�W|ttjd	�d��|tj�ddddd�dd�x�d(D]�}t�|�}x�d	|d|d||d|dd|dd|dd|d|dd|d|d||dgD]R}|tj||dd�dd�|tj||dd�dd�|tj||ddd�ddd��q�W�q�WdS))NFc
s�tdd�}|rl|dk	r&tt|��|d<tt|��|d<tjd��$}|j|d�d��j|f|��WdQRXn<d|d<tjd��$}|j|d�d��j|f|��WdQRXd	d
��|r�|j�_|o�|�r�fdd�t|d
�D�}tj	t�j
�g|�}	|	�_
�jdd�|d
d�f�tddddddd�}
|�rL|dk�r�d}tj
�fdd��j
D�|d��_
tj
�fdd�|j
D�|d�|_
n�|dk�r�d}tj
dd��j
D�|d��_
tj
dd�|j
D�|d�|_
n�|dk�rd}t�j
�}tj
dd�|D�|d��_
tj
ttt|j
j���|d�|_
n.|
j|�}tj
�j
|d��_
tj
|j
|d�|_
|�rp|dk�r�d}tj
�fdd��jD�|d��_tj
�fdd�|jD�|d�|_n�|dk�r�d}tj
dd��jD�|d��_tj
dd�|jD�|d�|_n�|dk�rBd}t�j�}tj
dd�|D�|d��_|jj�}tj
d d�|D�|d�|_n.|
j|�}tj
�j|d��_tj
|j|d�|_tj|�dd!�dS)"NF)rrr Z__tmp_to_csv_moar__�utf8)�encodingrjrcSst|t�s|jd�S|S)Nr�)rr�str�decode)r<rrr�_to_unis

zFTestDataFrameToCSV.test_to_csv_moar.<locals>._do_test.<locals>._to_unics g|]}�jdd�|fj�qS)N)�ilocr2)rSrZ)r7rrrU!szITestDataFrameToCSV.test_to_csv_moar.<locals>._do_test.<locals>.<listcomp>r#rZ�f�O)rZr�r~�ur[�pr�csg|]}�|��qSrr)rSrT)r�rrrU+s)�dtypecsg|]}�|��qSrr)rSrT)r�rrrU.sr[cSsg|]}t|��qSr)r)rSrTrrrrU3scSsg|]}t|��qSr)r)rSrTrrrrU6sr�cSsg|]}t|��qSr)r)rSrTrrrrU<scsg|]}�|��qSrr)rSrT)r�rrrUIscsg|]}�|��qSrr)rSrT)r�rrrULscSsg|]}t|��qSr)r)rSrTrrrrUQscSsg|]}t|��qSr)r)rSrTrrrrUTscSsg|]}t|��qSr)r)rSrTrrrrUZscSsg|]}t|��qSr)r)rSrTrrrrU^s)r?)rr{r3r(r)r,r
rr�from_arraysr!r�r*�arrayr�maprZto_timestamp�getr.)
rKZr_dtypeZc_dtype�rnlvl�cnlvl�dupe_colrrZ	delta_lvl�ixZtype_mapZidx_listZcol_list)rjr)r�r7r�_do_tests�











z5TestDataFrameToCSV.test_to_csv_moar.<locals>._do_testrzi��r#r%�
r[r~)�
r_idx_type�
c_idx_typerZr�r�r$ZdupeZrdupeT)r�)r!)�
r_idx_nlevels)r�)�
c_idx_nlevels)r�)r�r�)r�r�)NNNNF)r�)r��rZrZ�r~r~�r�r[�r�r�)r�r�r�r�)r#r%r$r�)r#r%r$r����r�)r%r$r�)	rRr(rlr{rr!rr*r4)rr�rmZncols�baseZnrowsr�r�rKror�r)rjrr�test_to_csv_moars�c




















&






z#TestDataFrameToCSV.test_to_csv_moarcCsztj|d<dd�}|jj|�|d<tj��F}|j|�|j|�}tj||dd�tjtj	|�tj	|�dd�WdQRXdS)N�GcSstjtjgtjj�dkS)Ng�?)r*�infr+rDZrand)r<rrrrf�szETestDataFrameToCSV.test_to_csv_from_csv_w_some_infs.<locals>.<lambda>�HF)r?)
r*r+r!r�r(r)r,r
r.�isinf)rr5r�rr7rrr� test_to_csv_from_csv_w_some_infs�s



z3TestDataFrameToCSV.test_to_csv_from_csv_w_some_infscCsntj|d<tj|d<tj��F}|j|�|j|�}tj||dd�tjtj|�tj|�dd�WdQRXdS)N�E�FF)r?)r*r�r(r)r,r
r.r�)rr5rr7rrr�test_to_csv_from_csv_w_all_infss



z2TestDataFrameToCSV.test_to_csv_from_csv_w_all_infscCs�tjd��z}tdddgdddgd��}|j|d	d
�t|�}tj||�tddd
gdd�|d<|j|d	d
�t|�}tj||�WdQRXdS)NZ__tmp_to_csv_no_index__r#r%r$r�r�)�c1�c2F)r!���	r)r��c3)r(r)rr,r
r.r)rrrKrLrrr�test_to_csv_no_indexsz'TestDataFrameToCSV.test_to_csv_no_indexcCsDtdddgdddgd��}d|d	<|j�|jd
dd	gd�ks@t�dS)
Nr:r;rd�aaZbb�cc)rr#�txt�testrr#)r)rr,r0)rrKrrr�test_to_csv_with_mix_columns'sz/TestDataFrameToCSV.test_to_csv_with_mix_columnscCs�tddgddggddgd�}tddgddggdd	gd�}tjd
��p}|j|dd	gd�|j|�}tj||�|j|ddd	gd
�|j|�}|jdd�}|dks�t�tj||�WdQRXdS)Nr#r%r$r�rr)rr@rAZ__tmp_to_csv_headers__)r F)r!r T)Zinplace)rr(r)r,r
r.Zreset_indexr0)rZfrom_dfZto_dfrr7Zreturn_valuerrr�test_to_csv_headers/s

z&TestDataFrameToCSV.test_to_csv_headerscCsB|}|j}tjt|�d�jdd#�}tj|ddgd�}||_tjd���2}|j	|dd�|j	|d	d
gd�|j	|�|j
|ddgdd
�}tj||dd�|jj|jjks�t
�||_|}	|	j}|tjt|��g}tj|�|	_|	j	|ddgd�|j
|ddgd�}
tj|	|
dd�|	j	|�|j
|dd�}
t|
j�t|	j�dk�sDt
�|	j	|dd�|j
|dd�}
tj|
j|j�||_WdQRXtjd���F}d$dd�}tjddddd�}|j	|�t
|ddddgddgd�}tj||�tjddddd�}|j	|�t
|ddddgdd�}tj||�tjddddd�}|j	|�t
|ddddgdddgd�}tj||�|�}|j	|dd�t
|ddgd�}tj||�|d�}|j	|dd�t
|ddgd�}tj|jj��s�t
�|jj|j_tj||�|�}|j	|�t
|ddgdgd�}tj||�|d�}|j	|�t
|ddgdgd�}tj||�|d�}|j	|�xJd%D]B}
d|
�d�}tjt|d ��t
|tt|
��dd�WdQRX�qXWd!}tjt|d ��|j	|dd"gd�WdQRXWdQRXtjd��V}|	dd�j	|�|j
|�}
|	dd�}g|_tj|
j|j�t|
�dk�s4t
�WdQRXdS)&Nr%r#�first�second)�namesZ__tmp_to_csv_multiindex__F)r rr)rr)rr)r?�time�foo)r")r)r!cSs<|dkrddg}ttjjdddd�tjdddg|d
�dd�S)NTr�r�rr�r$)�size�bahr��bar�ban�baz)r�r)rr�)r$r$)r�r�)r�r�)r�r�)rr*rDr|rrF)r�rrr�_make_framevsz>TestDataFrameToCSV.test_to_csv_multiindex.<locals>._make_framerr$r�)r�r�)r rTr�r�zlen of z, but only 5 lines in file)rCz%cannot specify cols with a MultiIndexr����)N)r�r�)r!r*r4r/Zreshaperr�r(r)r,r
r.r�r0rr1r2rl�comZall_nonerHrIrr{r3�	TypeErrorZassert_index_equal)rr5r6�frameZ	old_indexZarraysZ	new_indexrrKZtsframer7r�rLrZrO�exprrr�test_to_csv_multiindexAs�









&&
z)TestDataFrameToCSV.test_to_csv_multiindexcCsvttd�td�d�tjdd�d�}tjd��@}|j|�|j|dd�}|j	�}|j
jt�|_
tj
||�WdQRXdS)N�abcr$)rrr)r!z!__tmp_to_csv_interval_index__.csv)r)rr{r3rZinterval_ranger(r)r,r
rGr!�astyper�r.)rrKrrL�expectedrrr�test_to_csv_interval_index�s"
z-TestDataFrameToCSV.test_to_csv_interval_indexcCs�ttjjdd�jtj��}tj|d<tjd��J}|j	|dd�t
|��(}|j�}|djd�ddksjt
�WdQRXWdQRXdS)	Nr#r�z!__tmp_to_csv_float32_nanrep__.csvi�)Zna_rep�,r%Z999)rr*rDrEr�r
r+r(r)r,�open�	readlines�splitr0)rrKrr��linesrrr�test_to_csv_float32_nanrep�s

z-TestDataFrameToCSV.test_to_csv_float32_nanrepc
CsTtdddgdddgd��}tjd��&}|j|�|j|�}tj||�WdQRXdS)	Nr#r%r$z5,6z7,8z9,0)rrz__tmp_to_csv_withcommas__.csv)rr(r)r,r
r.)rrKrrWrrr�test_to_csv_withcommas�s


z)TestDataFrameToCSV.test_to_csv_withcommasc
CsBdd�}ttjjdd�d|d�d�}ttjjdd�d|d	�d�}td
|j|d�d�}td
|j|d�d�}ttd�|j|d�d�}tj|jdd�dd�f<tj	|||||gdd�}t
�}xHdtjfd	tjfdtj
fdtfgD]"\}	}
x||	�D]}|
||<q�Wq�Wtj��0}|j|�t|d||d�d�}
tj|
|�WdQRXdS)Ncs�fdd�td�D�S)Ncsg|]}��|d���qS)Z03dr)rSrZ)r]rrrU�szMTestDataFrameToCSV.test_to_csv_mixed.<locals>.create_cols.<locals>.<listcomp>r)r3)r]r)r]r�create_cols�sz9TestDataFrameToCSV.test_to_csv_mixed.<locals>.create_colsrzrr�float)r�rrrRT�bool)r!rr��object�20010101�date��2r#r$)�axisr)rr�r)rr*rDrEr!rr+r�rrVrrrZbool_r�r(r)r,r
r.)rr��df_float�df_int�df_bool�	df_object�df_dtrKZdtypesr}r�rd�filenamerMrrr�test_to_csv_mixed�s2

z$TestDataFrameToCSV.test_to_csv_mixedcCs�ttjjdd�ttd��ttd��dd�}tj��0}|j|�t	|dd�}|j
|_
tj||�WdQRXttjjdd�dd	�}ttjjdd�d
d	�}td|jtd�d�}td
|jtd�d�}tt
d�|jtd�d�}tj|||||gddd�}g}	x td�D]}
|	jdddg�q�W|	|_
tj��P}|j|�t	|dd�}xdD]}
t||
�||
<�qBW|j
|_
tj||�WdQRXd}tj|d�}dddg|_
tj��8}|j|�t	|dd�}|jddid�}tj||�WdQRXdS)Ni�r��r)rr�r)rr$)r�rT)r!rr�r�r#)r�Zignore_indexrr%�0.4�1.4�2.4r�r:r;za.1)r)r�r�r�)rr*rDrEr{r3r(r)r,r
rr.r!rrrV�extendrrlr_)rrKr�rLr�r�r�r�r�rorZrmrrr�test_to_csv_dups_colssF






z(TestDataFrameToCSV.test_to_csv_dups_colscCs�tdtd�i�}|jd|d<|jd|d<|jd|d<xFdD]>}tj��,}|j||d�t|dd
�}tj||�WdQRXq@WdS)Nr順g�?rg@rgg@�D�'�P�)rjr)r)r�r�r�)rr3rr(r)r,r
r.)rr�rjr�rMrrr�test_to_csv_chunkingIs

z'TestDataFrameToCSV.test_to_csv_chunkingcCsXttjjdd�ddd�}tj��.}|j|ddd�t|dd�}tj||�WdQRXdS)Nr#i��)rr!F)r r!)r )	rr*rDrEr(r)r,r
r.)rrKr�rMrrr�!test_to_csv_wide_frame_formattingVs

z4TestDataFrameToCSV.test_to_csv_wide_frame_formattingcCsjtd�}|j|dd�}td||jdi�}tj��,}|j|�t|dd�}tj||dd�WdQRXdS)Nza,1.0
b,2.0)r �tr)rF)r?)rr
rrr(r)r,r.)r�f1rKZnewdfrr7rrr�test_to_csv_bug_s

z"TestDataFrameToCSV.test_to_csv_bugcCs|tddddgi�}tj��X}|j|dd�t|ddd�}tj||�|j|dd	d
�t|ddd�}tj||�WdQRXdS)Nuc/σr#r%r$zUTF-8)r�r)rr�F)r�r!)rr(r)r,r
r.)rrKrrWrrr�test_to_csv_unicodeks
z&TestDataFrameToCSV.test_to_csv_unicodecCsltd�}tddddgdddd	ggdd
ddgdd
gd
�}|j|dd�|jd�t|ddd�}tj||�dS)N�uאZd2Zd3Zd4Za1Za2�a3Za4uבuגuד)rr!zUTF-8)r�r)rr�)rrr,�seekr
r(r.)r�bufrKrWrrr�test_to_csv_unicode_index_colxs

z0TestDataFrameToCSV.test_to_csv_unicode_index_colcCs:t�}|j|�|jd�t|dd�}tj||dd�dS)Nr)rF)r?)rr,r�r
r(r.)rr5r�r7rrr�test_to_csv_stringio�s


z'TestDataFrameToCSV.test_to_csv_stringioc
Cs�tdddgdddggddgd	d
dgd�}tj��T}|j|d
d�t|dd�}tdddgdddggddgd	d
dgd�}tj||�WdQRXdS)Ng��~�Ϛ�?g9DܜJ�?g>�D�)�?g�.4�i�(@g33333�@g���̤�Arrr@rArB)r!rz%.2f)Zfloat_formatr)rg���Q��?gq=
ףp�?g=
ףp=�?g�p=
ף(@)rr(r)r,r
r.)rrKr�rMrNrrr�test_to_csv_float_format�s
z+TestDataFrameToCSV.test_to_csv_float_formatcCsbtdddgdddgd��}t�}|j|dtjd	d
�|j�}ddd
dg}tj|�}||ks^t�dS)Nr#r%r$r�r�r�)rrFzutf-8)r!�quotingr�z"A","B"z1,"foo"z2,"bar"z3,"baz")	rrr,�csv�QUOTE_NONNUMERIC�getvaluer(�convert_rows_list_to_csv_strr0)rrKr�rL�
expected_rowsr�rrr�!test_to_csv_unicodewriter_quoting�s
z4TestDataFrameToCSV.test_to_csv_unicodewriter_quotingcCsdtdddgi�}xNdD]F}t�}|j|tj|dd�|j�}dddg}tj|�}||kst�qWdS)NrZhelloz	{"hello"}�utf-8F)r�r�r!)Nr)	rrr,r��
QUOTE_NONErr(rr0)rrKr�r�rLrr�rrr�test_to_csv_quote_none�s


z)TestDataFrameToCSV.test_to_csv_quote_nonecCsbtdddgdddgd�dd	d
gd�}t�}|j|dd
�ddddg}tj|�}|j�|ks^t�dS)Nr#r%r$r�rr�)rr�one�two�three)r!F)r"zA,Bzone,1,4ztwo,2,5z	three,3,6)rrr,r(rrr0)rrKr�rr�rrr�"test_to_csv_index_no_leading_comma�s$
z5TestDataFrameToCSV.test_to_csv_index_no_leading_commac,Cs8tdddgdddgd�dd	d
gd�}tj��@}|j|dd
�d}t|dd��}|j�|ks^t�WdQRXWdQRXtj��@}|j|dd
�d}t|dd��}|j�|ks�t�WdQRXWdQRXtj��f}|j|�tjj	d�}d|d|d|d|}t|dd��}|j�|k�s t�WdQRXWdQRXdS)Nr#r%r$r�rr�)rrrr	r
)r!z
)�line_terminators#,A,B
one,1,4
two,2,5
three,3,6
�rb)rQ�
s,A,B
one,1,4
two,2,5
three,3,6
zutf-8s,A,Bsone,1,4stwo,2,5s	three,3,6)
rr(r)r,r��readr0�os�linesep�encode)rrKrr�r�Z
os_lineseprrr�test_to_csv_line_terminators�s"$
$
$

	 z/TestDataFrameToCSV.test_to_csv_line_terminatorsc
Cs�ttjddddddddg��}tddddddddg�}t�}|j|dd�t�}|j|dd�|j�|j�ksrt�td|i�}td|i�}t�}|j|�t�}|j|�|j�|j�ks�t�dS)Nr:r;rdF)r r~)rrZCategoricalrr,rr0r)rr~r'�resr�rKrWrrr� test_to_csv_from_csv_categorical�s

z3TestDataFrameToCSV.test_to_csv_from_csv_categoricalcCs<|jdd�}t|t�st�tjt|�dd�}tj||�dS)N)Zpath_or_bufr)r)	r,rrr�r0rr
rr(r.)rr5Zcsv_strr7rrr�test_to_csv_path_is_nonesz+TestDataFrameToCSV.test_to_csv_path_is_nonezdf,encodingg��~�Ϛ�?g9DܜJ�?g>�D�)�?g�.4�i�(@g33333�@g���̤�Arrr@rArB)r!rNr��defZghi)r�asciir�{u你好u世界�gb2312uΓειά σουu
ΚόσμεZcp737c#Cs
tj���}|j|||d�t||d|d�}tj||�t|d||d�\}}|�|j||d�WdQRXtj|||ddd�}tj||�tj||��4}|j�j	|p�d�}	x|j
D]}
|
|	ks�t�q�WWdQRXtj||��}tj|t|d|d	��WdQRXWdQRXdS)
N)�compressionr�r)rrr��w)r�T)rr�rZsqueezer�)rr�)r(r)r,r
r.rr�decompress_filerr�rr0)rrKr�rr�rLr�Z_handles�fh�text�colrrr�test_to_csv_compressions,
z*TestDataFrameToCSV.test_to_csv_compressionc
Csftjd���P}|j}t||jd�d�|d�}|j|dd�t|dd�}|jd	d
��}|jjdd
��|_tj	||�|j|dd�t|dd�}|jd
d
��}|jjdd
��|_tj	||�|j
}|j|dd�t|dd�}|jdd
��}|jjdd
��|_tj	||�tdgddddg�}td|i|d�}	|	j|dd�t|ddgdd�}tj	||	�WdQRXdS)NZ__tmp_to_csv_date_format__r#)rr)r!z%Y%m%d)�date_formatr)rcSst|jd��S)Nz%Y%m%d)rR�strftime)r<rrrrfNsz<TestDataFrameToCSV.test_to_csv_date_format.<locals>.<lambda>cSst|jd��S)Nz%Y%m%d)rRr#)r<rrrrfQsz%Y-%m-%dcSs
|jd�S)Nz%Y-%m-%d)r#)r<rrrrf[scSs
|jd�S)Nz%Y-%m-%d)r#)r<rrrrf^scSst|jd��S)Nz%Y%m%d)rRr#)r<rrrrfjscSs
|jd�S)Nz%Y%m%d)r#)r<rrrrfnsrvr�z
2000-01-01z1/1/2000z1-1-2000r)rr)
r(r)r!r�shiftr,r
Zapplymapr�r.�Trr)
rr6rr\r�Zdatetime_frame_intZdatetime_frame_strZdatetime_frame_columnsZ	nat_indexZ	nat_framerrr�test_to_csv_date_formatBs@


z*TestDataFrameToCSV.test_to_csv_date_formatcCs�tjd���}tjdddddd�}x�||tjd�gD]p}|jd�}tjtt	|��d	d
�}t
d|i|d�}|j|d
d�t|dd�}t
|jd
d�jd�|_tj||�q4WWdQRXtjddddd�}|jd�}d|j_t
d|d�|d�}tjd��\}|j|d
d�t|dd�}t
|jd
d�jd�|_t
|dd
d�jd�|d<tj||�WdQRX|jt�tjd��&}|j|�tj|�}tj||�WdQRXdS)NZcsv_date_format_with_dstz2013-10-26 23:00z2013-10-27 01:00z
Europe/Londonr�Zinfer)rcrxZ	ambiguousZ10sr)r�r)r!Tr)r)�utcz
2015-01-01z
2015-12-31zEurope/Paris)rxrcr#)r2�idxr(zdatetime64[ns, Europe/Paris])r(r)rr	r^r-r*r�r3r/rr,r
rr!rbr.�_dataZ_freqr�r�Z	to_pickleZread_pickle)rr�timesrZZ
time_rangerKrLr(rrr� test_to_csv_with_dst_transitions~sB





z3TestDataFrameToCSV.test_to_csv_with_dst_transitionsc	CsPtddgddgdtjgddgd��}d	d
dg}tj|�}|j�}||ksLt�|jdd�}||ksdt�d	d
dg}tj|�}|jtjd�}||ks�t�d
ddg}tj|�}|jtj	d�}||ks�t�d
ddg}tj|�}|jtj
d�}||ks�t�d}tjtj
|d��|jtjd�WdQRXtjtj
|d��|jtjdd�WdQRXd	d
dg}tj|�}|jtjdd�}||k�szt�dd
dg}tj|�}|jtjdd�}||k�s�t�ddg}tj|�}tjt|��}t�}|j|ddd�|j�|k�s�t�tjddgd d!gd"d#gd$��}|jdd%g�}d&d'd(g}tj|�}|jtj	d�|k�sLt�dS))NTFg�?g������	@�*r:zb,c)�c_bool�c_float�c_intZc_stringz,c_bool,c_float,c_int,c_stringz0,True,1.0,42.0,az1,False,3.2,,"b,c")r�z("","c_bool","c_float","c_int","c_string"z"0","True","1.0","42.0","a"z"1","False","3.2","","b,c"z0,True,1.0,42.0,"a"z1,False,3.2,"","b,c"z%need to escape, but no escapechar set)rC)r��
escapecharz1,False,3.2,,b!,c�!z,c_bool,c_ffloat,c_int,c_stringz1,False,3.2,,bf,cr�za,b,cz
1,"test 
",3zutf-8)r�r!r#r%r$r�rr�)r:r;rdr;z"a","b","c"z"1","3","5"z"2","4","6")rr*r+r(rr,r0r��
QUOTE_MINIMAL�	QUOTE_ALLrrHrI�Errorrrr
rrZ	set_index)	rrKrr�rLrOZ	text_rowsrr�rrr�test_to_csv_quoting�sv








z&TestDataFrameToCSV.test_to_csv_quotingcCs�dddg}tj|dd�}tjdddg|d	�}|j�}d
ddd
g}tj|�}||ksVt�d}|j|d�}d
dddg}tj|�}||ks�t�dtjdg}tj|dd�}tjdddg|d	�}|j�}d
ddd
g}tj|�}||ks�t�dS)Nz
1990-01-01z
2000-01-01z
3005-01-01r�)rxr�rr�)r!z,0z1990-01-01,4z2000-01-01,5z3005-01-01,6z%m-%d-%Y)r"z01-01-1990,4z01-01-2000,5z01-01-3005,6z,5)rZPeriodIndexrr,r(rr0rv)r�datesr!rKrLrr�r"rrr�test_period_index_date_overflows&



z2TestDataFrameToCSV.test_period_index_date_overflowcCsttjjddddg�}tjddddgddd	d
gg�}||_ddddg}|j|d
�}dddg}tj|�}||kspt�dS)Nr:r#r%r;r$r�rr�r�r�rd�d)r z,a,b,c,dz	0,1,2,3,4z	1,5,6,7,8)r:r#)r:r%)r;r#)r;r%)	rrrFrrr,r(rr0)rrrKr rLrr�rrr�test_multi_index_header0s

z*TestDataFrameToCSV.test_multi_index_headercCsVtjdd	d
g�}tjdddgg|d�}|jddgd�}d}|jdd�}tj||�dS)
Nr#r%r$)rz,1,3
0,1,3
r)r)r#)r%)r$)r#)r$)rrrZreindexr,r(r1)rr!rKr�rLrrr�$test_to_csv_single_level_multi_index=sz7TestDataFrameToCSV.test_to_csv_single_level_multi_indexcCs�tjdddgi�}dddg}tj|�}tjd��<}|j|dd�tj|d	d
��}|j�jd�}WdQRXWdQRX||ks~t	�dS)Nr:r#r%�1�2z__test_gz_lineend.csv.gzF)r!�gzip)rzutf-8)
rrr(rr)r,rrr�r0)rrKrr�rr�rLrrr�test_gz_lineendFs

"z"TestDataFrameToCSV.test_gz_lineendcCs<tdtddd�i�}t�}|j|�|j�}d|ks8t�dS)Nr:z1/1/2000r�)ryz
2000-01-01)rr	rr,rr0)rr�r�rLrrr�test_to_csv_numpy_16_bugRs

z+TestDataFrameToCSV.test_to_csv_numpy_16_bug)3�__name__�
__module__�__qualname__r
r9rPrXr`rirqrurH�markZslowr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrZparametrizerr!r&r+r5r7r9r:r>r?rrrrr'sn' +z
,5
	

&	 '<1b
	r)r��iorrZnumpyr*rHZ
pandas.errorsrrkrrrrrrr	r
rZpandas._testingZ_testingr(Zpandas.core.common�core�commonr�Zpandas.io.commonrZMIXED_FLOAT_DTYPESZMIXED_INT_DTYPESrrrrr�<module>s((