§
    á! h  ã                   ó  — d Z ddlmZ ddlZddlmZ ddlmZ ej	         
                    d¦  «        Zej	                             d¦  «        Zed„ ¦   «         Zed„ ¦   «         Zd	„ Zeej	                             d
d eg d¢gg d¢¬¦  «        fd eg d¢gg d¢¬¦  «        fd eg d¢gg d¢¬¦  «        fg¦  «        d„ ¦   «         ¦   «         Zej	                             ddg d¢ eg d¢g d¢gg d¢¬¦  «        fdg d¢ eg d¢g d¢gg d ¢¬¦  «        fd!g d"¢ eg d#¢g d$¢gg d%¢¬¦  «        fg¦  «        d&„ ¦   «         Zed'„ ¦   «         Zed(„ ¦   «         Zed)„ ¦   «         Zej	                             d*g d+¢d,fg d+¢d-fg¦  «        d.„ ¦   «         ZdS )/zÖ
Tests that duplicate columns are handled appropriately when parsed by the
CSV engine. In general, the expected result is that they are either thoroughly
de-duplicated (if mangling requested) or ignored otherwise.
é    )ÚStringION)Ú	DataFrameÚpyarrow_xfailz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningc                 ó¬   — | }d}|                      t          |¦  «        d¬¦  «        }t          g d¢gg d¢¬¦  «        }t          j        ||¦  «         d S )Nza,a,b,b,b
1,2,3,4,5ú,)Úsep)é   é   é   é   é   )Úaúa.1Úbzb.1zb.2©Úcolumns©Úread_csvr   r   ÚtmÚassert_frame_equal©Úall_parsersÚparserÚdataÚresultÚexpecteds        úbc:\xampp_lite_8_4\www\timesheet\venv\Lib\site-packages\pandas/tests/io/parser/test_mangle_dupes.pyÚ
test_basicr      s`   € à€Fà!€DØ�_Š_�X d™^œ^°ˆ_Ñ5Ô5€Få˜/˜/˜/Ð*Ð4SÐ4SÐ4SÐTÑTÔT€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+ó    c                 ó®   — | }d}t          g d¢g d¢gg d¢¬¦  «        }|                     t          |¦  «        ¦  «        }t          j        ||¦  «         d S )Nza,b,a
0,1,2
3,4,5©r   r	   r
   )r   r   r   )r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   s        r   Útest_basic_namesr"       sd   € ð €Fà €DÝ˜)˜)˜) Y Y YÐ/Ð9JÐ9JÐ9JÐKÑKÔK€Hà�_Š_�X d™^œ^Ñ,Ô,€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   c                 óÂ   — | }d}t          j        t          d¬¦  «        5  |                     t	          |¦  «        g d¢¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz0,1,2
3,4,5úDuplicate names©Úmatch)r   r   r   ©Únames©ÚpytestÚraisesÚ
ValueErrorr   r   )r   r   r   s      r   Útest_basic_names_raiser-   ,   s¦   € à€Fà€DÝ	Œ•zÐ):Ð	;Ñ	;Ô	;ð ?ð ?Ø�Š� ™œ¨o¨o¨oˆÑ>Ô>Ð>ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?ð ?ð ?s    'AÁAÁAzdata,expectedza,a,a.1
1,2,3©r	   r
   r   )r   úa.2r   r   z+a,a,a.1,a.1.1,a.1.1.1,a.1.1.1.1
1,2,3,4,5,6)r	   r
   r   r   r   é   )r   r/   r   úa.1.1úa.1.1.1ú	a.1.1.1.1z!a,a,a.3,a.1,a.2,a,a
1,2,3,4,5,6,7©r	   r
   r   r   r   r0   é   )r   úa.4úa.3r   r/   za.5za.6c                 óx   — | }|                      t          |¦  «        ¦  «        }t          j        ||¦  «         d S )N)r   r   r   r   )r   r   r   r   r   s        r   Útest_thorough_mangle_columnsr9   5   s9   € ð. €Fà�_Š_�X d™^œ^Ñ,Ô,€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   zdata,names,expectedza,b,b
1,2,3)r   r   r1   )r   r   r   )Ú1Ú2Ú3)r   r1   r2   za,b,c,d,e,f
1,2,3,4,5,6)r   r   r   r1   r2   r3   )r   r   ÚcÚdÚeÚf)r:   r;   r<   Ú4Ú5Ú6)r   r   r1   r2   r3   za.1.1.1.1.1za,b,c,d,e,f,g
1,2,3,4,5,6,7)r   r   r7   r   r/   r   r   )r   r   r=   r>   r?   r@   Úg)r:   r;   r<   rA   rB   rC   Ú7)r   r   r7   r1   r/   za.2.1za.3.1c                 óº   — | }t          j        t          d¬¦  «        5  |                     t	          |¦  «        |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr$   r%   r'   r)   )r   r   r(   r   r   s        r   Útest_thorough_mangle_namesrG   R   s    € ðB €Få	Œ•zÐ):Ð	;Ñ	;Ô	;ð 5ð 5Ø�Š� ™œ¨eˆÑ4Ô4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð 5ð 5s   ž%AÁAÁAc                 óª  — d}| }g d¢}t          ||i¦  «        }t          d¦  «        D ]©}t          ¦   «         }t          |dz   ¦  «        D ]8}ddd|z  › �t          |d¦  «        z  z   }|                     d|g d¢¬	¦  «         Œ9|||<   |                     t          |                     ¦   «         ¦  «        ¦  «        }t          j        ||¦  «         Œªd S )
NÚ0r.   r   r	   ú
Unnamed: 0ú.r   r!   )ÚlocÚcolumnÚvalue)	r   ÚrangeÚminÚinsertr   r   Úto_csvr   r   )	r   Úorig_keyr   Ú
orig_valueÚdfÚir   ÚjÚcol_names	            r   Ú!test_mangled_unnamed_placeholdersrY   y   sï   € ð €HØ€Fà��€JÝ	�H˜jÐ)Ñ	*Ô	*€Bõ �1‰XŒXð 
,ð 
,ˆÝ‘;”;ˆå�q˜1‘u‘”ð 	Eð 	EˆAØ# i¨!¨A©# i iµ#°a¸±)´)Ñ&;Ñ;ˆHØ�OŠO ¨(¸)¸)¸)ˆOÑDÔDÐDÐDà'ˆ�ÑØ�_Š_�X b§i¢i¡k¤kÑ2Ô2Ñ3Ô3ˆå
Ô˜b (Ñ+Ô+Ð+Ð+ð
,ð 
,r   c                 ó¨   — | }d}|                      t          |¦  «        ¦  «        }t          g d¢gg d¢¬¦  «        }t          j        ||¦  «         d S )Nz%a,a,a.1,a,a.3,a.1,a.1.1
1,2,3,4,5,6,7r4   )r   r/   r   r6   r7   za.1.2r1   r   r   r   s        r   Ú$test_mangle_dupe_cols_already_existsr[   �   si   € ð €Fà3€DØ�_Š_�X d™^œ^Ñ,Ô,€FÝØ	Ð	Ð	ÐØCÐCÐCðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r   c                 ó¨   — | }d}|                      t          |¦  «        ¦  «        }t          g d¢gg d¢¬¦  «        }t          j        ||¦  «         d S )Nz,Unnamed: 0,,Unnamed: 2
1,2,3,4)r	   r
   r   r   )zUnnamed: 0.1rJ   zUnnamed: 2.1z
Unnamed: 2r   r   r   s        r   Ú0test_mangle_dupe_cols_already_exists_unnamed_colr]   ž   sf   € ð €Fà-€DØ�_Š_�X d™^œ^Ñ,Ô,€FÝØ	ˆˆˆØLÐLÐLðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r   zusecol, engine)r   r	   r	   Úpythonr=   c                 óÊ   — | }d}g d¢}t          j        t          d¬¦  «        5  |                     t	          |¦  «        |||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz1,2,3)ÚAr`   ÚBr$   r%   )r(   ÚusecolsÚenginer)   )r   Úusecolrc   r   r   r(   s         r   Útest_mangle_cols_namesre   ¬   sÅ   € ð €FØ€DØˆOˆO€EÝ	Œ•zÐ):Ð	;Ñ	;Ô	;ð Tð TØ�Š� ™œ¨e¸VÈFˆÑSÔSÐSðTð Tð Tñ Tô Tð Tð Tð Tð Tð Tð Tð Tøøøð Tð Tð Tð Tð Tð Ts   ¤'AÁAÁA)Ú__doc__Úior   r*   Úpandasr   Úpandas._testingÚ_testingr   ÚmarkÚusefixturesÚxfail_pyarrowÚfilterwarningsÚ
pytestmarkr   r"   r-   Úparametrizer9   rG   rY   r[   r]   re   © r   r   ú<module>rr      s>  ððð ð
 Ð Ð Ð Ð Ð à €€€à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à”×'Ò'¨Ñ8Ô8€ð Œ[×'Ò'ØCñô €
ð
 ð,ð ,ñ „ð,ð ð,ð ,ñ „ð,ð?ð ?ð ?ð Ø„×ÒØà	˜9˜9 i i i [Ð:MÐ:MÐ:MÐNÑNÔNÐOà:ØˆIØ#Ð#Ð#Ð$ØLÐLÐLðñ ô ð	
ð 1ØˆIØ&Ð&Ð&Ð'ØGÐGÐGðñ ô ð	
ðñô ð(,ð ,ñ)ô ñ „ð*,ð „×ÒØð Ø#Ð#Ð#ØˆIØ �� / / /Ð2Ð<WÐ<WÐ<Wðñ ô ð	
ð 'Ø>Ð>Ð>ØˆIØ/Ð/Ð/Ð1OÐ1OÐ1OÐPØTÐTÐTðñ ô ð	
ð +Ø5Ð5Ð5ØˆIà7Ð7Ð7Ø7Ð7Ð7ðð NÐMÐMðñ ô ð
	
ð!ñô ð>5ð 5ñ?ô ð>5ð ð,ð ,ñ „ð,ð, ð
,ð 
,ñ „ð
,ð ð
,ð 
,ñ „ð
,ð „×ÒÐ)¨Y¨Y¨Y¸Ð,AÀIÀIÀIÈsÐCSÐ+TÑUÔUðTð Tñ VÔUðTð Tð Tr   