
     jk                         d dl Z d dlZd dlZd dlmZ d dlmZ d dlZd dl	Z	d dl
Zd dl
mZmZmZ d dlmZ  G d d          Zd Zd Zd	 ZdS )
    N)ZipFile)Error)	DataFrameIndexcompatc            
       b   e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zej                            d ej        dggdggdg          df ej        dgdggdgdggddg          dfg          d             Zd Zd Zd Zd Zd Zej                             ej                     d !          d"             Z!d# Z"ej                            d$d%d&g          ej                            d'd%d&g          d(                         Z#d) Z$d* Z%ej                            d+d,d-g          ej                            d.d/d0g          d1                         Z&ej                            d2g d3          d4             Z'ej                            d5d6g          d7             Z(d8 Z)d9 Z*ej                            d:g d;          d<             Z+ej                            d=d>d?g          d@             Z,ej                            d=d>d?g          dA             Z-dBS )C	TestToCSVc                 t   t          d dg          }d}t          j        d          5 }|                    |d d            t	          |d          5 }|                                |k    sJ 	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          dd g          }d}t          j        d          5 }|                    |d d            t	          |d          5 }|                                |k    sJ 	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )N   z""
1.0
test.csvheaderindexutf-8encodingz1.0
""
r   tmensure_cleanto_csvopenread)selfdf1	expected1pathfdf2	expected2s          wC:\Users\Terasoftware\OneDrive\Desktop\faahhh\fyndo\fyndo\venv\Lib\site-packages\pandas/tests/io/formats/test_to_csv.pytest_to_csv_with_single_columnz(TestToCSV.test_to_csv_with_single_column   s?    q	""	 _Z(( 	-DJJtDJ555dW--- -vvxx9,,,,,- - - - - - - - - - - - - - -	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-
 D	""	 _Z(( 	-DJJtDJ555dW--- -vvxx9,,,,,- - - - - - - - - - - - - - -	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-sk   *BA:.B:A>	>BA>	BBB*D--D	D-D	D-D	D--D14D1c                    t          dg di          }t          j        d          5 }|                    |           t          j        t          j        |d          |           d d d            d S # 1 swxY w Y   d S )Ncol)AAAAAu
   ÄÄÄÄÄu
   ßßßßßu   聞聞聞聞聞r   r   	index_col)r   r   r   r   assert_frame_equalpdread_csv)r   dfr   s      r    test_to_csv_default_encodingz&TestToCSV.test_to_csv_default_encoding0   s    WWWXYY_Z(( 	FDIIdOOO!"+da"@"@"@"EEE	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	Fs   ?A44A8;A8c                 B   t          dddgi          }d}t          j        d          5 }|                    |d           t	          |d          5 }|                                |k    sJ 	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d	}t          j        d          5 }|                    |dd
           t	          |d          5 }|                                |k    sJ 	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j        d          5 }t          j        t          d          5  |                    |dd            d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr#   r      z"","col"
"0","1"
"1","2"
r   )quotingr   r   z$$,$col$
$0$,$1$
$1$,$2$
$)r.   	quotecharr0   match)	r   r   r   r   r   r   pytestraises	TypeErrorr   r*   expectedr   r   s        r    test_to_csv_quotecharzTestToCSV.test_to_csv_quotechar9   s   1v'' _Z(( 	,DIIdAI&&&dW--- ,vvxx8+++++, , , , , , , , , , , , , , ,	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,
 _Z(( 	,DIIdAI555dW--- ,vvxx8+++++, , , , , , , , , , , , , , ,	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,
 _Z(( 	;Dy<<< ; ;		$T	:::; ; ; ; ; ; ; ; ; ; ; ; ; ; ;	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	;s   )BA;/B;A?	?BA?	BBB3*DD9DD			DD		DD #D ;FE<0F<F 	 FF 	FFFc                 .   t          dddgi          }d}t          j        d          5 }|                    |dd           t	          |d	
          5 }|                                |k    sJ 	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j        d          5 }t          j        t          d          5  |                    |d           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr#   a"a"bb"z!"","col"
"0","a""a"
"1","""bb"""
r   r   T)r.   doublequoter   r   
escapecharr1   F)r<   )	r   r   r   r   r   r   r3   r4   r   r6   s        r    test_to_csv_doublequotez!TestToCSV.test_to_csv_doublequoteU   s   v/00 _Z(( 	,DIIdA4I888dW--- ,vvxx8+++++, , , , , , , , , , , , , , ,	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,
 _Z(( 	3DuL999 3 3		$E	2223 3 3 3 3 3 3 3 3 3 3 3 3 3 3	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3sk   *BA<0B<B 	 BB 	BBB2D
C2&D
2C6	6D
9C6	:D

DDc                 ~   t          dddgi          }d}t          j        d          5 }|                    |ddd	           t	          |d
          5 }|                                |k    sJ 	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          dddgi          }d}t          j        d          5 }|                    |dd           t	          |d
          5 }|                                |k    sJ 	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr#   r:   r;   z!"","col"
"0","a\"a"
"1","\"bb\""
r   r   F\)r.   r<   r=   r   r   za,az,bb,z,col
0,a\,a
1,\,bb\,
   )r.   r=   r   r6   s        r    test_to_csv_escapecharz TestToCSV.test_to_csv_escapecharf   sI   v/00 _Z(( 	,DIIdA5TIJJJdW--- ,vvxx8+++++, , , , , , , , , , , , , , ,	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,
 v/00 _Z(( 	,DIIdA$I777dW--- ,vvxx8+++++, , , , , , , , , , , , , , ,	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,sk   +BA=1B=B	BB	BBB*D22DD2D	D2!D	"D22D69D6c                     t          dddgi          }g d}t          j        |          }|                                |k    sJ d S )Nr#   r   r-   )z,col0,1z1,2)r   r   convert_rows_list_to_csv_strr   r   r*   expected_rowsr7   s       r    test_csv_to_stringzTestToCSV.test_csv_to_string   sQ    1v''...2=AAyy{{h&&&&&&    c                 ,   t          dgdgdgd          }ddg}t          j        |          }|                                |k    sJ ddg}t          j        |          }|                    d	d
          |k    sJ ddg}t          j        |          }|                    d          |k    sJ ddg}t          j        |          }|                    d	d
d          |k    sJ t          ddgddgdd          }g d}t          j        |          }|                    dd          |k    sJ |                    d                              d          |k    sJ |                    ddg                              d          |k    sJ d S )Nr   ag333333$@)col1col2col3z,col1,col2,col3z
0,1,a,10.1z;col1;col2;col3z
0;1;a;10,1,;)decimalsepz0,1,a,10.10%.2ffloat_formatz0;1;a;10,10)rQ   rR   rU   r   皙?皙@ffffff
@rK   bc)a,b,cz	0^0,2^2,1z	1^1,3^3,1F^)r   rQ   )rQ   rZ   )r   r   rE   r   	set_index)r   r*   rG   expected_defaultexpected_european_excelexpected_float_format_defaultexpected_float_formatr7   s           r    test_to_csv_decimalzTestToCSV.test_to_csv_decimal   s   cUTFCCDD*L9:=IIyy{{.....*L9"$"A-"P"Pyy#y..2IIIII*M:(*(G(V(V%yyfy--1NNNNN*M: " ? N NIIcsI@@$%	
 	
 	
 aXS#JQ??@@;;;2=AAyyucy22h>>>> ||C  '''44@@@@ ||S#J''..s.;;xGGGGGGrI   c                 $   t          ddgddgdd          }g d}t          j        |          }|                    d                              d	          |k    sJ |                    dd
g                              d	          |k    sJ d S )Nr   r   rW   rX   rY   )r\   z0,2.20,1z1,3.30,1rK   rS   rT   rZ   )r   r   rE   r^   r   rF   s       r    test_to_csv_float_formatz"TestToCSV.test_to_csv_float_format   s     aV3*1==>>9992=AA||C  ''V'<<HHHH ||S#J''..F.CCxOOOOOOrI   c                 2   t          dt          j        gddgddgd          }g d}t          j        |          }|                    d                              d	          |k    sJ |                    dd
g                              d	          |k    sJ t          t          j        ddgddgd          }g d}t          j        |          }|                    d                              d	          |k    sJ |                    dd
g                              d	          |k    sJ t          dddgddgd          }g d}t          j        |          }|                    d                              d	          |k    sJ |                    dd
g                              d	          |k    sJ t          j        dt          j	        dg                              d	          }t          j        g d          }||k    sJ d S )Nr   r   r-   rA   rY   )r\   z0.0,0,2_,1,3rK   _na_reprZ   )r\   z_,0,2rg   )r\   z0,0,2z0,1,3r[   ZZZZZ,0z0,az1,ZZZZZz2,c)
r   npnanr   rE   r^   r   r(   SeriesNA)r   r*   rG   r7   csvs        r    test_to_csv_na_repzTestToCSV.test_to_csv_na_rep   s4    a[1vQFCCDD5552=AA||C  ''s'33x????||S#J''..c.::hFFFF RV1a&1v>>??3332=AA||C  ''s'33x????||S#J''..c.::hFFFF QaV1a&99::3332=AA||C  ''s'33x????||S#J''..c.::hFFFFibeS)**111AA23R3R3RSS3rI   c                     t          j        g d          }t          j        dt          j        dg|                              d          }||k    sJ d S )Nrl   rK   r[   dtyperk   ri   )r   rE   r(   rp   rq   r   )r   nullable_string_dtyper7   rr   s       r    "test_to_csv_na_rep_nullable_stringz,TestToCSV.test_to_csv_na_rep_nullable_string   sj     23R3R3RSSibeS)1FGGGNN O 
 
 3rI   c                 d   t          dt          j        ddd          i          }t          dt          j        ddd          i          }g d}t          j        |          }|                                |k    sJ g d}t          j        |          }|                    d	
          |k    sJ g d}t          j        |          }|                    d
          |k    sJ g d}t          j        |          }|                                |k    sJ |                    d
          |k    sJ d|d<   d|d<   ddg}t          j        |          }|                    t          j        dd          dg          }|                                                    d
          |k    sJ d S )NA20130101   speriodsfreqd),A0,2013-01-01 00:00:00z1,2013-01-01 00:00:01z2,2013-01-01 00:00:02z3,2013-01-01 00:00:03z4,2013-01-01 00:00:04)r   r   z1,2013-01-02 00:00:00z2,2013-01-03 00:00:00z3,2013-01-04 00:00:00z4,2013-01-05 00:00:00z%Y-%m-%d %H:%M:%S)date_format)r   0,2013-01-01z1,2013-01-01z2,2013-01-01z3,2013-01-01z4,2013-01-01%Y-%m-%d)r   r   z1,2013-01-02z2,2013-01-03z3,2013-01-04z4,2013-01-05r   Br   CzA,B,Cz2013-01-01,0,1.01h)keyr   )	r   r(   
date_ranger   rE   r   groupbyGroupermean)	r   df_secdf_dayrG   expected_default_secexpected_ymdhms_dayexpected_ymd_secexpected_default_daydf_sec_groupeds	            r    test_to_csv_date_formatz!TestToCSV.test_to_csv_date_format   s   Cz13!O!O!OPQQCz13!O!O!OPQQ
 
 
  ">}MM}}"66666
 
 
 !=mLL}})<}==ATTTTT
 
 
 :=II}}}448HHHHH
 
 
  ">}MM}}"66666}}}448LLLLL ss "45:=II$)G)G)G(MNN""$$++
+CCGWWWWWWWrI   c                     t          t          j        d          t          j        ddd          d          }g d}t	          j        |          }|                    d          |k    sJ d S )	Nz
1970-01-01r-   hr~   )datedatetime)zdate,datetimez1970-01-01,1970-01-01 00:00:00z1970-01-01,1970-01-01 01:00:00Fr   )r   r(   to_datetimer   r   rE   r   rF   s       r    &test_to_csv_different_datetime_formatsz0TestToCSV.test_to_csv_different_datetime_formats  s    |44M,LLL 
 

 
 

 2=AAyyuy%%111111rI   c                    t          j        t          j        dt           j        gd                    }|                    d          }t          j        g d          }|                    d          |k    sJ t          j        t          j        ddd	d
          	                    t          j
        t           j        g                              }|                    d          }|                    dd          |k    sJ d S )N
2021-03-27r   )formatcategory)0r   z""Fr   Dr   zEurope/Berlin)startr   r   tz)r   r   )r(   rp   r   NaTastyper   rE   r   r   appendDatetimeIndex)r   serr7   s      r    &test_to_csv_date_format_in_categoricalz0TestToCSV.test_to_csv_date_format_in_categorical,  s    ibf'=jQQQRRjj$$23L3L3LMMzzz&&(2222iM"aO  fR%rvh//00
 

 jj$$zz:z>>(JJJJJJrI   c                     t          ddt          j        dgdd          }|d                             d          |d<   |                    dd	
          }t          j        g d          }||k    sJ d S )NrV   )\( @7 @r[   rK   rZ   rK   Float64Fz%.5f)r   rU   )a,bz	1.10000,cz	2.02000,c,cz	6.00001,cr   r(   rq   r   r   r   rE   r   r*   resultr7   s       r    !test_to_csv_float_ea_float_formatz+TestToCSV.test_to_csv_float_ea_float_format;  s    c49DDEES'..++3V<<2@@@
 
 !!!!!!rI   c                     t          ddt          j        dgdd          }|d                             d          |d<   |                    d	          }t          j        g d
          }||k    sJ d S )NrV   r   r   r[   r   rK   r   Fr   )r   z1.1,cz2.02,cr   z
6.000006,cr   r   s       r    $test_to_csv_float_ea_no_float_formatz.TestToCSV.test_to_csv_float_ea_no_float_formatE  s    c49DDEES'..++3''2:::
 
 !!!!!!rI   c                    t          dgt          j                            dgdgg                    }g d}t	          j        |          }|                                |k    sJ g d}t	          j        |          }|                    d          |k    sJ t          dgt          j                            dgdgg          t          j                            dgdgg                    }g d	}t	          j        |          }|                                |k    sJ g d}t	          j        |          }|                    d          |k    sJ t          dgt          j                            d
gdgg                    }g d}t	          j        |          }|                                |k    sJ g d}t	          j        |          }|                    d          |k    sJ d S )Nr   r-   columns)z,1z,2rD   )12r   Fr   r   r   )z,,1z,,2z1,2,1foobar)z,fooz,barrD   )r   r   r   )r   r(   
MultiIndexfrom_arraysr   rE   r   )r   r*   exp_rowsexps       r    test_to_csv_multi_indexz!TestToCSV.test_to_csv_multi_indexO  s   sBM$=$=sQCj$I$IJJJ&&&-h77yy{{c!!!!"??-h77yyuy%%,,,,CM--sQCj99-++aS1#J77
 
 
 +**-h77yy{{c!!!!"??-h77yyuy%%,,,,sBM$=$=w>P$Q$QRRR***-h77yy{{c!!!!&&&-h77yyuy%%,,,,,,rI   zind,expectedg      ?r   x)levelscodesnameszx,data
1.0,1
g       @yzx,y,data
1.0,2.0,1
c                      |t          j        dg|d                    }|                    dd          }||k    sJ d S )Nr   data)name
T)lineterminatorr   )r(   rp   r   )r   indr7   frame_or_seriesobjr   s         r    $test_to_csv_single_level_multi_indexz.TestToCSV.test_to_csv_single_level_multi_indexs  sR    " obiSv>>>??4==!!!!!!rI   c                 P   dddgidddgig}t          |          }d}t          j        d          5 }|                    |d	           t	          |d
	          5 }|                                |k    sJ 	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr   r   r   bazqux-,names
0,"['foo', 'bar']"
1,"['baz', 'qux']"
zstr_test.csvasciir   r   r   )r   	str_arrayr*   expected_asciir   r   s         r    test_to_csv_string_array_asciiz(TestToCSV.test_to_csv_string_array_ascii  s<   u~.5%.0IJ	y!!
 _^,, 	2IIdWI---dW--- 2vvxx>111112 2 2 2 2 2 2 2 2 2 2 2 2 2 2	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	25   )BB7BB	B
B	BB"Bc                 P   dddgidddgig}t          |          }d}t          j        d          5 }|                    |d	           t	          |d	          5 }|                                |k    sJ 	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )
Nr   r   r   r   r   r   zunicode_test.csvr   r   r   )r   r   r*   expected_utf8r   r   s         r    test_to_csv_string_array_utf8z'TestToCSV.test_to_csv_string_array_utf8  s=   u~.5%.0IJ	y!!
 _/00 	1DIIdWI---dW--- 1vvxx=000001 1 1 1 1 1 1 1 1 1 1 1 1 1 1	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1r   c                    g dg dd}t          |          }t          j        d          5 }t          j                            d          }d|z   dz   |z   dz   |z   d	z   |z   }|                    |d
           t          |d          5 }|                                |k    sJ 	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j        d          5 }d}|                    |dd
           t          |d          5 }|                                |k    sJ 	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j        d          5 }d}|                    |dd
           t          |d          5 }|                                |k    sJ 	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr   r-   rA   )abczd
efzg
h

i)intstr_lfzlf_test.csvr   s
   int,str_lf   1,abcs   2,"d
ef"s
   3,"g
h

i"Fr   rbs%   int,str_lf
1,abc
2,"d
ef"
3,"g
h

i"
r   r   r   s)   int,str_lf
1,abc
2,"d
ef"
3,"g
h

i"

	r   r   r   oslinesepencoder   r   r   	r   r   r*   r   
os_linesepexpected_noargr   expected_lfexpected_crlfs	            r    test_to_csv_string_with_lfz$TestToCSV.test_to_csv_string_with_lf  s    yy,I,I,IJJt___]++ 	2t**733J  	
  ##   IId%I(((dD!! 2Qvvxx>111112 2 2 2 2 2 2 2 2 2 2 2 2 2 2	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2  _]++ 	/tJKIId4uI===dD!! /Qvvxx;...../ / / / / / / / / / / / / / /		/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ _]++ 	1t UMIId6I???dD!! 1Qvvxx=000001 1 1 1 1 1 1 1 1 1 1 1 1 1 1	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1   AC
B3'C
3B7	7C
:B7	;C

CC)+ED<0E<E 	 EE 	EEE2+GG9GG			GG		GG!$G!c                    g dg dd}t          |          }t          j        d          5 }t          j                            d          }d|z   dz   |z   dz   |z   d	z   |z   }|                    |d
           t          |d          5 }|                                |k    sJ 	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j        d          5 }d}|                    |dd
           t          |d          5 }|                                |k    sJ 	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j        d          5 }d}|                    |dd
           t          |d          5 }|                                |k    sJ 	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr   )r   zd
efz	g
h

i)r   str_crlfzcrlf_test.csvr   s   int,str_crlfr   s	   2,"d
ef"s   3,"g
h

i"Fr   r   s+   int,str_crlf
1,abc
2,"d
ef"
3,"g
h

i"
r   r   s/   int,str_crlf
1,abc
2,"d
ef"
3,"g
h

i"
r   r   r   s	            r    test_to_csv_string_with_crlfz&TestToCSV.test_to_csv_string_with_crlf  s    yy.S.S.STTt____-- 	2**733J  !	!
  ))   IId%I(((dD!! 2Qvvxx>111112 2 2 2 2 2 2 2 2 2 2 2 2 2 2	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2  __-- 	/TKIId4uI===dD!! /Qvvxx;...../ / / / / / / / / / / / / / /		/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ __-- 	1+  IId6I???dD!! 1Qvvxx=000001 1 1 1 1 1 1 1 1 1 1 1 1 1 1	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1r   c                    t          ddgddggddg          }g d}t          j        |          }|                    t          j        d	
           |                                }|j        |k    sJ t          j        j        rJ d S )Nr   r   r   r   name_1name_2r   )z,name_1,name_2z	0,foo,barz	1,baz,quxr   r   )	r   r   rE   r   sysstdout
readouterroutclosed)r   capsysr*   rG   r   captureds         r    test_to_csv_stdout_filez!TestToCSV.test_to_csv_stdout_file  s    7(HAUVVVDDD8GG
		#*w	///$$&&|~----:$$$$$$rI   zEspecially in Windows, file stream should not be passedto csv writer without newline='' option.(https://docs.python.org/3/library/csv.html#csv.writer))reasonc                    t          dg di          }d}t          j        d          5 }t          |dd          5 }|                    d           |                    |d d 	           d d d            n# 1 swxY w Y   t          |d          5 }|                                |k    sJ 	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )
NrK   r   r   zzmanual header
x
y
z
test.txtwr   r   manual header
r   )r   r   r   r   writer   r   r6   s        r    test_to_csv_write_to_open_filez(TestToCSV.test_to_csv_write_to_open_file  s    ___-.. _Z(( 	,DdC'222 6a)***		!D	5556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 dW--- ,vvxx8+++++, , , , , , , , , , , , , , ,		, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,sX   C.A7+C7A;	;C>A;	?CB;/C;B?	?CB?	CCCc                    t          dg di          }g d}dt          j        |          z   }t          j        d          5 }t	          |ddd          5 }|                    d           |                    |d d 	           d d d            n# 1 swxY w Y   t	          |d
          5 }|                                t          |d          k    sJ 	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )NrK   r  r  r  r   r   )newliner   r   r   )	r   r   rE   r   r   r	  r   r   bytes)r   r*   rG   r7   r   r   s         r    /test_to_csv_write_to_open_file_with_newline_py3z9TestToCSV.test_to_csv_write_to_open_file_with_newline_py3  s    ___-..'$r'F}'U'UU_Z(( 	<DdCg>>> 6!)***		!D	5556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 dD!! <Qvvxx57#;#;;;;;;< < < < < < < < < < < < < < <	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	<sZ   C:.BC:B	C:B	C:,)C"C:"C&	&C:)C&	*C::C>C>to_inferTF
read_inferc                 @   |}d}|||         z  }t          ddgi          }|rdn|}|rdn|}	t          j        |          5 }
|                    |
|           t	          j        |
d|	          }t          j        ||           d d d            d S # 1 swxY w Y   d S )Nztest.rz   r   infercompressionr   )r&   r  )r   r   r   r   r(   r)   r'   )r   compression_onlyr  r  compression_to_extensionr  filenamer*   to_compressionread_compressionr   r   s               r    test_to_csv_compressionz!TestToCSV.test_to_csv_compression   s    ' ,[99aSz""$,=+&0A77k_X&& 	.$IIdI777[@PQQQF!&"---	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.s   ABBBc                 P   |}t          ddgi          }d}ddd                    ||          }||z  }t          j        |          5 }|                    |d|i           t          j        |d	
          }t          j        ||           d d d            d S # 1 swxY w Y   d S )NABCr   zto_csv_compress_as_dict.gzzst)gzipzstdmethodr  r   r%   )r   getr   r   r   r(   r)   r'   )r   r  r"  r*   r  	extensionr   read_dfs           r    test_to_csv_compression_dictz&TestToCSV.test_to_csv_compression_dict6  s   !s|$$-
 
 #ff

 	 	I_X&& 	/$IId6(:I;;;k$!444G!'2...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/s   	ABB"Bc                 $   t          ddgi          }ddi}d}t          j        d          5 }t          j        t
          |          5  |                    ||           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )	Nr  r   some_optionTzmust have key 'method'zout.zipr1   r  )r   r   r   r3   r4   
ValueErrorr   )r   r*   r  msgr   s        r    -test_to_csv_compression_dict_no_method_raisesz7TestToCSV.test_to_csv_compression_dict_no_method_raisesE  s   s|$$$d+&_Y'' 	94z555 9 9		$K	8889 9 9 9 9 9 9 9 9 9 9 9 9 9 9	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9s5   B	A-!B-A1	1B4A1	5BB	B	r  zipr  archive_nameztest_to_csv.csvztest_to_csv.zipc                 p   t          ddgi          }t          j        d          5 }|                    |||d           t	          |          5 }t          |j                  dk    sJ |j        d         j        }||k    sJ 	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr  r   zto_csv_archive_name.zip)r"  r-  r  r   )r   r   r   r   r   lenfilelistr  )r   r  r-  r*   r   zparchived_files          r    test_to_csv_zip_argumentsz#TestToCSV.test_to_csv_zip_argumentsO  sN    s|$$_677 	54II[,"W"W      5"2;''1,,,, "A 7$444445 5 5 5 5 5 5 5 5 5 5 5 5 5 5		5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5s5   *B+5BB+B	B+B	B++B/2B/zfilename,expected_arcname))archive.csvr4  )archive.tsvr5  )zarchive.csv.zipr4  )zarchive.tsv.zipr5  )zarchive.ziparchivec                    t          ddgi          }||z  }|                    |d           t          |          5 }t          |j                  dk    sJ |j        d         j        }||k    sJ 	 d d d            d S # 1 swxY w Y   d S )Nr  r   r,  r  r   )r   r   r   r/  r0  r  )r   tmp_pathr  expected_arcnamer*   r   r1  r2  s           r    test_to_csv_zip_infer_namez$TestToCSV.test_to_csv_zip_infer_name]  s     s|$$("
		$E	***T]] 	5br{##q((((KN3M $444444	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5s   5BBBdf_new_typeInt64c                     t          dt          d          gdz  i          }|                    |          }g d}t          j        |          }|                    ddd          }||k    sJ d S )	Nr[   ro   rA   )r[   mynullr>  r>  Fr>  r   )r   rj   r   )r   floatr   r   rE   r   )r   r;  r*   rG   r7   r   s         r    test_to_csv_na_rep_long_stringz(TestToCSV.test_to_csv_na_rep_long_stringq  s}     eEll^a/011YY{##;;;2=AAx'JJ6!!!!!!rI   c                    t          j        ddg                              d          }t          j                    }|                    |           |                                }g d}t          j        |          }||k    sJ d S )Nr   ztimedelta64[ns])rm   z0,0 days 00:00:00.000000001z1,0 days 00:00:00.000000001)	r(   rp   r   ioStringIOr   getvaluer   rE   )r   r}   bufr   rG   r7   s         r    test_to_csv_timedelta_precisionz)TestToCSV.test_to_csv_timedelta_precision}  s    Iq!f$$%677kmm	
 
 

 2=AA!!!!!!rI   c                    t          j        t          dd                                        d          }t	          j        g d          }||k    sJ t          j        ddg                              d          }t	          j        g d	          }||k    sJ t          j        d
dg                              d          }t	          j        g d          }||k    sJ d S )N      -ri   )rm   z0,8z1,9z2,10z3,11TFro   )rm   z0,Truez1,FalserV   rW   .)rm   z0,1.1z1,2.2)r(   rp   ranger   r   rE   )r   r   r7   s      r    test_na_rep_truncatedzTestToCSV.test_na_rep_truncated  s    5B<<((//s/;;23W3W3WXX!!!!D%=))000>>23N3N3NOO!!!!C:&&--S-9923K3K3KLL!!!!!!rI   errors)surrogatepassignorereplacec                     dg}t          j        |t          |t                    t                    }t	          j        d          5 }|                    ||           d d d            d S # 1 swxY w Y   d S )Nu   fooru   )r   rv   r   )rN  )r(   rp   r   objectr   r   r   )r   rN  r   r   r   s        r    test_to_csv_errorszTestToCSV.test_to_csv_errors  s     }iE$f$=$=$=VLLL_Z(( 	,DJJtFJ+++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,s   A--A14A1modewbr  c           
          t          dt          j        d                              d          z  t	          t          d                    t	          d t          d          D                                 }t          j                    5 }t          |d	          5 }|
                    ||	           d
d
d
           n# 1 swxY w Y   t          j        |t          j        |d                     d
d
d
           d
S # 1 swxY w Y   d
S )z
        Binary file objects should work (if 'mode' contains a 'b') or even without
        it in most cases.

        GH 35058 and GH 19827
        rV   x         ABCDc                     g | ]}d | S zi- .0is     r    
<listcomp>z7TestToCSV.test_to_csv_binary_handle.<locals>.<listcomp>  s    555aa555rI   rZ  r   w+b)rU  Nr   r%   )r   rn   arangereshaper   listrL  r   r   r   r   r'   r(   r)   )r   rU  r*   r   handles        r    test_to_csv_binary_handlez#TestToCSV.test_to_csv_binary_handle  s    ")C..((111$v,,''5559955566
 
 

 _ 	F$d''' -6		&t	,,,- - - - - - - - - - - - - - -!"bk$!&D&D&DEEE	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	Fs6   DC6DC	D	C	
,DD
Dc                    d                     d          }t          j        |          }t          j        |d          }t          j                    }|                    ||dd           |                    d           |                                                    |          sJ t          j
                    5 }t          |d          5 }t                                          ||d           |                    d           |                                                    d	          sJ 	 d
d
d
           n# 1 swxY w Y   d
d
d
           d
S # 1 swxY w Y   d
S )z{
        Binary file objects should honor a specified encoding.

        GH 23854 and GH 13068 with binary handles
        u
   a, b, 🐟z	utf-8-sigr   F)rU  r   r   r   rd  )rU  r   s   ﻿""N)r   rB  BytesIOr(   r)   r   seekrD  
startswithr   r   r   r   r   )r   rU  contentbufferr*   r   rh  s          r    "test_to_csv_encoding_binary_handlez,TestToCSV.test_to_csv_encoding_binary_handle  s    %%k22G$$[+666
		&tk	GGGA  ++G44444 _ 	C$dE"" Cf""6{"KKKA{{}}//0ABBBBBB	C C C C C C C C C C C C C C C	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	Cs7   =EA#D>2E>E	EE	EEEN).__name__
__module____qualname__r!   r+   r8   r>   rB   rH   rc   re   rs   rx   r   r   r   r   r   r   r3   markparametrizer(   r   r   r   r   r   r   r  xfailr   is_platform_windowsr
  r  r  r&  r+  r3  r:  r@  rF  rM  rT  ri  rp  r_  rI   r    r	   r	      sU       - - -8F F F; ; ;83 3 3", , ,2' ' '"H "H "HH
P 
P 
P  >  =X =X =X~2 2 2 K K K" " "" " ""- "- "-H [ seWaSE#GGG!
  EC5>1#sC:   (		
 " " "2 2 21 1 1 1  1  1D%1 %1 %1N
% 
% 
% [""$$F   , , , < < < [Z$77[\D%=99. . :9 87.(/ / /9 9 9 []UG,<==[^.?AR-STT
5 
5 UT >=
5 [#	
 	
 	
	 	5 5	 	5 []WI66	" 	" 76	"" " "" " " [X'M'M'MNN, , ON, [VdC[11F F 21F" [VdC[11C C 21C C CrI   r	   c           
         t          dt          j        d                              d          z  t	          t          d                    t	          d t          d          D                                 }t          j                    5 }|	                    || d	           t          j
        t          j        || d
          |           d d d            d S # 1 swxY w Y   d S )NrV   rX  rY  r\  c                     g | ]}d | S r^  r_  r`  s     r    rc  z:test_to_csv_iterative_compression_name.<locals>.<listcomp>      111!X!XX111rI   rZ  r   r   r  	chunksizer   r  r&   )r   rn   re  rf  r   rg  rL  r   r   r   r'   r(   r)   )r  r*   r   s      r    &test_to_csv_iterative_compression_namer~    s   	binn$$W---d6ll##11uRyy11122
 
 
B
 
		 
d
		$K1	===
K+CCCR	
 	
 	

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
s   ACC #C c           
         t          dt          j        d                              d          z  t	          t          d                    t	          d t          d          D                                 }t          j                    5 }|	                    || d	           |
                    d
           t          j        t          j        || d
          |           |j        rJ 	 d d d            d S # 1 swxY w Y   d S )NrV   rX  rY  r\  c                     g | ]}d | S r^  r_  r`  s     r    rc  z<test_to_csv_iterative_compression_buffer.<locals>.<listcomp>  rz  rI   rZ  r   r   r{  r   r}  )r   rn   re  rf  r   rg  rL  rB  rk  r   rl  r   r'   r(   r)   r   )r  r*   ro  s      r    (test_to_csv_iterative_compression_bufferr    s9   	binn$$W---d6ll##11uRyy11122
 
 
B
 
 !
		&kQ	???A
KK1EEEr	
 	
 	
 =    ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s   A!C;;C?C?c                      t          dg di          } d}t          j        t          |          5  t	          j                    }|                     |d           d d d            d S # 1 swxY w Y   d S )NrK   r   ztStarting with pandas version 3.0 all arguments of to_csv except for the argument 'path_or_buf' will be keyword-only.r1   rP   )r   r   assert_produces_warningFutureWarningrB  rk  r   )r*   r*  ro  s      r     test_to_csv_pos_args_deprecationr    s    	C#	$	$B	8  
	#M	=	=	=  
		&#                 s   *A((A,/A,)rB  r   r   zipfiler   _csvr   numpyrn   r3   pandasr(   r   r   r   pandas._testing_testingr   r	   r~  r  r  r_  rI   r    <module>r     s   				 				 



                              
      y
C y
C y
C y
C y
C y
C y
C y
Cx
 
 
! ! ! 	 	 	 	 	rI   