§
    tŠtjÙ(  ã                   óþ  — d Z ddlmZmZ ddlZddlZddlZddlZddl	m
Z
mZ ddlmZ ej                             d¦  «        Zej                             d¦  «        Zd„ Zed„ ¦   «         Zeej                             d	d
dg¦  «        ej                             dg d¢¦  «        d„ ¦   «         ¦   «         ¦   «         Zd„ Zd„ Zej                             ddi dgfdddidgfdddgiddgfddgddœdgfddgddœej        dgfg¦  «        d „ ¦   «         Zd!„ Zej                             d"g d#¢¦  «        d$„ ¦   «         Zej                             d%ddg¦  «        d&„ ¦   «         Zd'„ Zej                             dg d(¢¦  «        d)„ ¦   «         Z ej                             dg d*¢¦  «        d+„ ¦   «         Z!d,„ Z"d-„ Z#ej                             d.¦  «        ej                             d/d0d1g¦  «        d2„ ¦   «         ¦   «         Z$dS )3zZ
Tests encoding functionality during parsing
for all of the parsers defined in parsers.py
é    )ÚBytesIOÚTextIOWrapperN)Ú	DataFrameÚread_csvz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningÚpyarrow_skipc                 óØ   — d}| }t          d                     |¦  «        ¦  «        }|                     |d|¬¦  «        }t          ddggddg¬	¦  «        }t	          j        ||¦  «         d S )
NÚcp1255u   ×©×œ×•×�:1234
562:123ú:)ÚsepÚencodingi2  é{   u   ×©×œ×•×�Ú1234©Úcolumns©r   Úencoder   r   ÚtmÚassert_frame_equal)Úall_parsersr   ÚparserÚdataÚresultÚexpecteds         úb/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pandas/tests/io/parser/test_encoding.pyÚtest_bytes_io_inputr      su   € Ø€HØ€FåÐ+×2Ò2°8Ñ<Ô<Ñ=Ô=€DØ�_Š_˜T s°Xˆ_Ñ>Ô>€Få˜3 ˜*˜°
¸FÐ/CÐDÑDÔD€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+ó    c                 óÌ   — | }t          d                     ¦   «         ¦  «        }|                     |ddd ¬¦  «        }t          ddgg¦  «        }t	          j        ||¦  «         d S )Nu   Å�aski, Jan;1ú;úutf-8)r   r   Úheaderu   Å�aski, Jané   r   )r   r   r   r   r   s        r   Útest_read_csv_unicoder"   (   si   € à€FÝÐ&×-Ò-Ñ/Ô/Ñ0Ô0€Dà�_Š_˜T s°WÀTˆ_ÑJÔJ€FÝÐ,¨aÐ0Ð1Ñ2Ô2€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   r   ú,ú	r   )úutf-16zutf-16lezutf-16bec                 óä  — | }d                      d|¦  «        }|ddœ}d}|                     |¦  «        }t          |d¦  «        5 }	|	                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t	          t          |                     |¦  «        ¦  «        |¬¦  «        5 }
 |j        |fd|i|¤Ž} |j        |
fd|i|¤Ž}d d d ¦  «         n# 1 swxY w Y   t          j        ||¦  «         d S )	Nz)skip this
skip this too
A,B,C
1,2,3
4,5,6r#   é   )r   Úskiprowsr   Úwb©r   r   )	Úreplacer   ÚopenÚwriter   r   r   r   r   )r   r   r   Ú	temp_filer   r   ÚkwargsÚutf8Ú
bytes_dataÚfÚbytes_bufferr   r   s                r   Útest_utf16_bom_skiprowsr4   2   sŸ  € ð
 €Fð	÷ 
Š��cÑ	Ô	ð	 	ð
  aÐ(Ð(€FØ€Dà—’˜XÑ&Ô&€Jå	ˆi˜Ñ	Ô	ð  !Ø	�Š�
ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
•w˜tŸ{š{¨4Ñ0Ô0Ñ1Ô1¸DÐ	AÑ	AÔ	Að JÀ\Ø �” ÐHÐH°XÐHÀÐHÐHˆØ"�6”? <ÐIÐI¸$ÐIÀ&ÐIÐIˆðJð Jð Jñ Jô Jð Jð Jð Jð Jð Jð Jøøøð Jð Jð Jð Jõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+s$   ÁA'Á'A+Á.A+Â#!CÃCÃCc                 ó¤   — t           j                             |d¦  «        }| }|                     |dd¬¦  «        }t	          |¦  «        dk    sJ ‚d S )Nzutf16_ex.txtr%   r$   )r   r   é2   )ÚosÚpathÚjoinr   Úlen)r   Úcsv_dir_pathr8   r   r   s        r   Útest_utf16_exampler<   K   sP   € ÝŒ7�<Š<˜ nÑ5Ô5€DØ€FØ�_Š_˜T¨H¸$ˆ_Ñ?Ô?€FÝˆv‰;Œ;˜"ÒÐÐÐÐÐr   c                 óÔ   — t           j                             |d¦  «        }| }|                     |d d¬¦  «        }|                     d¦  «        }|d         d         }d}||k    sJ ‚d S )Núunicode_series.csvúlatin-1)r    r   r   r!   i`  u$   Ã� kÃ¶ldum klaka (Cold Fever) (1994))r7   r8   r9   r   Ú	set_index)r   r;   r8   r   r   Úgotr   s          r   Útest_unicode_encodingrB   R   sj   € ÝŒ7�<Š<˜Ð&:Ñ;Ô;€DØ€Fà�_Š_˜T¨$¸ˆ_ÑCÔC€FØ×Ò˜aÑ Ô €FØ
�Œ)�DŒ/€Cà9€HØ�(Š?ˆ?ˆ?ˆ?ˆ?ˆ?r   zdata,kwargs,expectedza
1r!   z"a"
1Ú	quotecharú"zb
1ÚnamesÚaÚbÚ1ú
1T)rE   Úskip_blank_linesFc                 ó  ‡‡— | }dŠdŠˆˆfd„}|j         dk    r1|dk    r+|                     dd¦  «        rt          j        d¬	¦  «          |j         ||¦  «        fd
‰i|¤Ž}t          d|i¦  «        }t          j        ||¦  «         d S )Nu   ï»¿r   c                 óR   •— ‰| z                         ‰¦  «        }t          |¦  «        S )N)r   r   )Ú_dataÚbom_dataÚbomr0   s     €€r   Ú_encode_data_with_bomz,test_utf8_bom.<locals>._encode_data_with_bomw   s(   ø€ Ø˜%‘K×'Ò'¨Ñ-Ô-ˆÝ�xÑ Ô Ð r   ÚpyarrowrI   rJ   Tz,https://github.com/apache/arrow/issues/38676)Úreasonr   rF   )ÚengineÚgetÚpytestÚskipr   r   r   r   )	r   r   r/   r   r   rP   r   rO   r0   s	          @@r   Útest_utf8_bomrW   ^   sÌ   øø€ ð* €FØ
€CØ€Dð!ð !ð !ð !ð !ð !ð
 	Œ˜Ò"Ð"Ø�EŠMˆMØ�JŠJÐ)¨4Ñ0Ô0ð õ 	ŒÐIÐJÑJÔJÐJàˆVŒ_Ð2Ð2°4Ñ8Ô8ÐRÐRÀ4ÐRÈ6ÐRÐR€FÝ˜#˜x˜Ñ)Ô)€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   c                 óø   — t          dgdgdœ¦  «        }| }|                     |¦  «        }d                     |¦  «        }|                     t	          |¦  «        |¬¦  «        }t          j        ||¦  «         d S )Ng333333@Útest)Úmb_numÚ	multibytezmb_num,multibyte
4.8,testr*   )r   Úformatr   r   r   r   r   )r   Ú	utf_valueÚencoding_fmtr   r   r   r   r   s           r   Útest_read_csv_utf_aliasesr_   ˆ   sz   € å S E¸¸ÐAÐAÑBÔB€HØ€Fà×"Ò" 9Ñ-Ô-€HØ'×.Ò.¨xÑ8Ô8€Dà�_Š_�W T™]œ]°Xˆ_Ñ>Ô>€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   zfile_path,encoding)))Úior   Úcsvz	test1.csvr   ))r`   r   r   r>   r?   ))r`   r   r   zsauron.SHIFT_JIS.csvÚshiftjisc                 óz  — | } ||Ž }|                      ||¬¦  «        }t          ||¬¦  «        5 }|                      |¦  «        }|j        rJ ‚	 d d d ¦  «         n# 1 swxY w Y   t          j        ||¦  «         t          |d¬¦  «        5 }	|                      |	|¬¦  «        }|	j        rJ ‚	 d d d ¦  «         n# 1 swxY w Y   t          j        ||¦  «         t          |dd¬¦  «        5 }	|                      |	|¬¦  «        }|	j        rJ ‚	 d d d ¦  «         n# 1 swxY w Y   t          j        ||¦  «         d S )Nr*   Úrb)Úmoder   )re   Ú	buffering)r   r,   Úclosedr   r   )
r   Ú	file_pathr   Údatapathr   Úfpathr   Úfar   Úfbs
             r   Útest_binary_mode_file_buffersrm   ”   s  € ð €FàˆH�iÐ €EØ�Š˜u¨xˆÑ8Ô8€Hå	ˆe˜hÐ	'Ñ	'Ô	'ð ¨2Ø—’ Ñ$Ô$ˆØ”9ÐÐˆ}Ððð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ Ô˜( FÑ+Ô+Ð+å	ˆe˜$Ð	Ñ	Ô	ð  2Ø—’ ¨h�Ñ7Ô7ˆØ”9ÐÐˆ}Ððð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ Ô˜( FÑ+Ô+Ð+å	ˆe˜$¨!Ð	,Ñ	,Ô	,ð °Ø—’ ¨h�Ñ7Ô7ˆØ”9ÐÐˆ}Ððð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ Ô˜( FÑ+Ô+Ð+Ð+Ð+s5   °AÁA Á#A Â!B;Â;B?ÃB?Ã-!DÄDÄ"DÚpass_encodingc                 óº  — | }|                      |¦  «        }|j        dk    r|du r|dv rt          j        d¦  «         t	          ddgi¦  «        }|                     d|¬¦  «        5 }|                     d	¦  «         |                     d
¦  «         |                     ||r|nd ¬¦  «        }	t          j
        |	|¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrQ   T)é   é    zThese cases freezeÚfooÚbarzw+©re   r   zfoo
barr   r*   )r\   rS   rU   rV   r   r,   r-   Úseekr   r   r   )
r   r]   r^   rn   r.   r   r   r   r2   r   s
             r   Útest_encoding_temp_filerv   ´   s+  € ð
 €FØ×"Ò" 9Ñ-Ô-€Hà„}˜	Ò!Ð! m°tÐ&;Ð&;À	ÈXÐ@UÐ@UåŒÐ(Ñ)Ô)Ð)å˜% % Ð)Ñ*Ô*€Hà	�Š˜T¨HˆÑ	5Ô	5ð 0¸Ø	�Š�
ÑÔÐØ	�Šˆq‰	Œ	ˆ	à—’ ¸Ð-P¨X¨XÈD�ÑQÔQˆÝ
Ô˜f hÑ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð 0ð 0s   Á(ACÃCÃCc                 ó‚  — | }d}d}d}t          ||gi¦  «        }t          j        ¦   «         5 }|                     |› d|› �                     |¦  «        ¦  «         |                     d¦  «         |                     ||¬¦  «        }t          j        ||¦  «         |j	        rJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nz	shift-jisu	   ã�¦ã�™ã�¨u   ã�“ã‚€ú
r   r*   )
r   ÚtempfileÚNamedTemporaryFiler-   r   ru   r   r   r   rg   )r   r   r   Útitler   r   r2   r   s           r   Útest_encoding_named_temp_filer|   Ê   s  € à€FØ€Hà€EØ€Då˜% $ ˜Ñ)Ô)€Hå	Ô	$Ñ	&Ô	&ð ¨!Ø	�Š�5Ð"Ð"˜DÐ"Ð"×)Ò)¨(Ñ3Ô3Ñ4Ô4Ð4à	�Šˆq‰	Œ	ˆ	à—’ ¨X�Ñ6Ô6ˆÝ
Ô˜f hÑ/Ô/Ð/Ø”8ÐÐˆ|Ððð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ®A8B4Â4B8Â;B8)r   r%   z	utf-16-bez	utf-16-lezutf-32c                 óÔ   — d}t          |                     | ¦  «        ¦  «        }t          |d| ¬¦  «        }t          ddgddgdd	ggd
dg¬¦  «        }t	          j        ||¦  «         d S )Nu   a	b
ï¼šfoo	0
bar	1
baz	2r$   )Ú	delimiterr   u   ï¼šfoor   rs   r!   Úbazr'   rF   rG   )r   r   r   )r   r   Úencoded_datar   r   s        r   Ú%test_parse_encoded_special_charactersr�   Þ   s‚   € ð -€DÝ˜4Ÿ;š; xÑ0Ô0Ñ1Ô1€LÝ�l¨d¸XÐFÑFÔF€FåØ˜ˆm˜e Q˜Z¨%°¨Ð4Ø�c�
ðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r   )r   Nr%   r	   r?   c                 óz  — | }t          g d¢g d¢g d¢dœ¦  «        }|                     |d|¬¦  «         |j        dk    rOd}t          j        t
          |¬	¦  «        5  |                     ||d
¬¦  «         d d d ¦  «         n# 1 swxY w Y   d S |                     ||d
¬¦  «        }t          j        ||¦  «         d S )N)ÚRaphaelÚ	DonatellozMiguel AngelÚLeonardo)ÚredÚpurpleÚorangeÚblue)Úsaizbo staffÚnunchunkÚkatana)ÚnameÚmaskÚweaponF)Úindexr   rQ   úBThe 'memory_map' option is not supported with the 'pyarrow' engine©ÚmatchT)r   Ú
memory_map)	r   Úto_csvrS   rU   ÚraisesÚ
ValueErrorr   r   r   )r   r   r.   r   r   ÚmsgÚdfs          r   Útest_encoding_memory_maprš   ï   s1  € ð €FÝàHÐHÐHØ7Ð7Ð7Ø?Ð?Ð?ð	
ð 	
ñô €Hð ‡O‚O�I U°X€OÑ>Ô>Ð>à„}˜	Ò!Ð!ØRˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	Kð 	KØ�OŠO˜I°ÀTˆOÑJÔJÐJð	Kð 	Kð 	Kñ 	Kô 	Kð 	Kð 	Kð 	Kð 	Kð 	Kð 	Køøøð 	Kð 	Kð 	Kð 	Kàˆà	�Š˜¨XÀ$ˆÑ	GÔ	G€BÝÔ˜"˜hÑ'Ô'Ð'Ð'Ð's   ÁBÂBÂBc                 ó†  — | }t          dgdz  ¬¦  «        }d|j        d<   |                     |ddd¬¦  «         |j        d	k    rOd
}t	          j        t          |¬¦  «        5  |                     |dd¬¦  «         ddd¦  «         n# 1 swxY w Y   dS |                     |dd¬¦  «        }t          j	        ||¦  «         dS )zO
    Chunk splits a multibyte character with memory_map=True

    GH 43540
    Úaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaai   )r   u�   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaÄ…iÿ  Fr   ©r�   r    r   rQ   r‘   r’   NT)r    r”   )
r   Úilocr•   rS   rU   r–   r—   r   r   r   )r   r.   r   r™   r˜   Údfrs         r   Ú test_chunk_splits_multibyte_charr      s!  € ð €Få	˜˜ dÑ*Ð	+Ñ	+Ô	+€Bð %€B„GˆD�MØ‡I‚Iˆi˜u¨U¸W€IÑEÔEÐEà„}˜	Ò!Ð!ØRˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	Eð 	EØ�OŠO˜I¨d¸tˆOÑDÔDÐDð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eàˆà
�/Š/˜)¨D¸Tˆ/Ñ
BÔ
B€CÝÔ˜#˜rÑ"Ô"Ð"Ð"Ð"s   Á"BÂBÂBc           	      ó¶  — g }d}d}d}t          t          |¦  «        t          |¦  «        |¦  «        D ]q}d                     d„ t          ||dz   ¦  «        D ¦   «         ¦  «        dz   }	 |                     d¦  «         n# t          $ r Y ŒXw xY w|                     |¦  «         Œr| }t          |¦  «        }	|	                     |ddd¬	¦  «         |j        d
k    rPd}
t          j
        t          |
¬¦  «        5  |                     |ddd¬¦  «         ddd¦  «         n# 1 swxY w Y   dS |                     |ddd¬¦  «        }t          j        |	|¦  «         dS )zg
    GH 43787

    Test correct handling of UTF-8 chars when memory_map=True and encoding is UTF-8
    é€   ú u   ð�‚€Ú c                 ó,   — g | ]}t          |¦  «        ‘ŒS © )Úchr)Ú.0Úcs     r   ú
<listcomp>z,test_readcsv_memmap_utf8.<locals>.<listcomp>,  s   € ÐAÐAÐA 1�˜A™œÐAÐAÐAr   rx   r   Fr�   rQ   r‘   r’   NT)r    r”   r   )ÚrangeÚordr9   r   ÚUnicodeEncodeErrorÚappendr   r•   rS   rU   r–   r—   r   r   r   )r   r.   ÚlinesÚline_lengthÚ
start_charÚend_charÚlnumÚliner   r™   r˜   rŸ   s               r   Útest_readcsv_memmap_utf8rµ     sÍ  € ð €EØ€KØ€JØ€Hõ •c˜*‘o”o¥s¨8¡}¤}°kÑBÔBð ð ˆØ�wŠwÐAÐA­¨d°D¸4±KÑ(@Ô(@ÐAÑAÔAÑBÔBÀTÑIˆð	Ø�KŠK˜Ñ Ô Ð Ð øÝ!ð 	ð 	ð 	ØˆHð	øøøà�Š�TÑÔÐÐØ€FÝ	�5Ñ	Ô	€BØ‡I‚Iˆi˜u¨U¸W€IÑEÔEÐEà„}˜	Ò!Ð!ØRˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	Wð 	WØ�OŠO˜I¨d¸tÈgˆOÑVÔVÐVð	Wð 	Wð 	Wñ 	Wô 	Wð 	Wð 	Wð 	Wð 	Wð 	Wð 	Wøøøð 	Wð 	Wð 	Wð 	Wàˆà
�/Š/˜)¨D¸TÈGˆ/Ñ
TÔ
T€CÝÔ˜"˜cÑ"Ô"Ð"Ð"Ð"s$   Á*B Â 
BÂBÃ8DÄD"Ä%D"Úpyarrow_xfailre   zw+bzw+tc                 óB  — | }d}d|v rd}t          j        |d¬¦  «        5 }|                     |¦  «         |                     d¦  «         |                     |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          g dg¬¦  «        }t          j        ||¦  «         d S )Ns   abcdÚtÚabcdr   rt   r   r   )ry   ÚSpooledTemporaryFiler-   ru   r   r   r   r   )r   re   r   ÚcontentÚhandler™   r   s          r   Útest_not_readabler½   @  så   € ð €FØ€GØ
ˆd€{€{ØˆÝ	Ô	&¨D¸7Ð	CÑ	CÔ	Cð %ÀvØ�Š�WÑÔÐØ�Š�A‰ŒˆØ�_Š_˜VÑ$Ô$ˆð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %õ ˜ f XÐ.Ñ.Ô.€HÝÔ˜"˜hÑ'Ô'Ð'Ð'Ð's   ¡A A-Á-A1Á4A1)%Ú__doc__r`   r   r   r7   ry   ÚnumpyÚnprU   Úpandasr   r   Úpandas._testingÚ_testingr   ÚmarkÚfilterwarningsÚ
pytestmarkÚusefixturesÚskip_pyarrowr   r"   Úparametrizer4   r<   rB   ÚnanrW   r_   rm   rv   r|   r�   rš   r    rµ   r½   r¦   r   r   ú<module>rË      s’  ððð ð
ð ð ð ð ð ð ð ð 
€	€	€	Ø €€€à Ð Ð Ð Ø €€€ðð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð àŒ[×'Ò'ØCñô €
ð Œ{×&Ò& ~Ñ6Ô6€ð,ð ,ð ,ð ð,ð ,ñ „ð,ð Ø„×Ò˜  d Ñ,Ô,Ø„×Ò˜Ð%GÐ%GÐ%GÑHÔHð,ð ,ñ IÔHñ -Ô,ñ „ð,ð,ð ð ð	ð 	ð 	ð „×ÒØð 
��a�SÐà	�K Ð%¨ sÐ+à	�'˜C˜5Ð! C¨ :Ð.à	˜3˜%°TÐ:Ð:¸Q¸CÐ@ð Ø�e°Ð7Ð7ØŒV�QˆKð	
ðñô ð&,ð ,ñ'ô ð&,ð.	,ð 	,ð 	,ð „×ÒØðð ð ñô ð,ð ,ñô ð,ð0 „×Ò˜¨4°¨-Ñ8Ô8ð0ð 0ñ 9Ô8ð0ð*ð ð ð( „×ÒØÐGÐGÐGñô ð,ð ,ñô ð,ð „×Ò˜Ð%SÐ%SÐ%SÑTÔTð(ð (ñ UÔTð(ð,#ð #ð #ð2#ð #ð #ðB „×Ò˜Ñ)Ô)Ø„×Ò˜ %¨ Ñ0Ô0ð(ð (ñ 1Ô0ñ *Ô)ð(ð (ð (r   