+
    xȇi(                        R t ^ RIHtHt ^ RIt^ RIt^ RIt^ RIt^ RI	H
t
Ht ^ RIHt ]P                  P!                  R4      t]P                  P%                  R4      tR t]R 4       t]]P                  P-                  RR	R
.4      ]P                  P-                  R. R-O4      R 4       4       4       tR tR t]P                  P-                  RR/ ^.3RRR/^.3RRR./RR.3RRR.RR/^.3RRR.RR/]P4                  ^.3.4      R 4       tR t]P                  P-                  R. R.O4      R  4       t]P                  P-                  R!RR.4      R" 4       tR# t]P                  P-                  R. R/O4      R$ 4       t ]P                  P-                  R. R0O4      R% 4       t!R& t"R' t#]P                  P%                  R(4      ]P                  P-                  R)R*R+.4      R, 4       4       t$R# )1zZ
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                     R pT p\        RP                  V4      4      pVP                  VRVR7      p\        R^{..RR.R7      p\        P
                  ! WE4       R# )	cp1255u   שלום:1234
562:123:)sepencodingi2  u   שלום1234columnsNr   encoder   r   tmassert_frame_equal)all_parsersr   parserdataresultexpecteds   &     t/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/io/parser/test_encoding.pytest_bytes_io_inputr      s[    HF+228<=D__TsX_>F3*
F/CDH&+    c                     T p\        R P                  4       4      pVP                  VRRRR7      p\        R^..4      p\        P
                  ! W44       R# )u   Łaski, Jan;1;utf-8N)r
   r   headeru   Łaski, Janr   )r   r   r   r   r   s   &    r   test_read_csv_unicoder   (   sR    F&--/0D__TsWT_JF,a012H&+r   r
   ,	r   c                    T pR P                  RV4      pRVR^/pRpVP                  V4      p\        VR4      ;_uu_ 4       p	V	P                  V4       RRR4       \	        \        VP                  V4      4      VR7      ;_uu_ 4       p
VP                  ! V3RV/VB pVP                  ! V
3RV/VB pRRR4       \        P                  ! XX4       R#   + '       g   i     L; i  + '       g   i     L<; i)	z)skip this
skip this too
A,B,C
1,2,3
4,5,6r    r
   skiprowsr   wbN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_skiprowsr/   2   s    
 F	 
c		 	
 S*a(FDX&J	i		!	
 
 
wt{{401D	A	A\HXHH??<I$I&I 
B &(+ 
	 
B	As   C	+C(C%	(C8	c                     \         P                  P                  VR 4      pT pVP                  VRRR7      p\	        V4      ^28X  g   Q hR# )zutf16_ex.txtutf-16r!   )r   r
   N)ospathjoinr   len)r   csv_dir_pathr3   r   r   s   &&   r   test_utf16_exampler7   K   sA    77<<n5DF__TH$_?Fv;"r   c                     \         P                  P                  VR 4      pT pVP                  VRRR7      pVP	                  ^ 4      pV^,          R,          pRpWV8X  g   Q hR# )unicode_series.csvNlatin-1)r   r   i`  u$   Á köldum klaka (Cold Fever) (1994))r2   r3   r4   r   	set_index)r   r6   r3   r   r   gotr   s   &&     r   test_unicode_encodingr=   R   s\    77<<&:;DF__T$_CFa F
)D/C9H??r   zdata,kwargs,expectedza
1z"a"
1	quotechar"zb
1namesab1
1skip_blank_linesTFc                 .  aa T pR oRoVV3R lpVP                   R8X  d7   VR8X  d0   VP                  RR4      '       d   \        P                  ! RR7       VP                  ! V! V4      3R	S/VB p\        R
V/4      p\        P                  ! Wc4       R# )u   ﻿r   c                 J   < SV ,           P                  S4      p\        V4      # )N)r   r   )_databom_databomr+   s   & r   _encode_data_with_bom,test_utf8_bom.<locals>._encode_data_with_bomw   s"    %K''-x  r   pyarrowrD   rE   Tz,https://github.com/apache/arrow/issues/38676)reasonr   rA   N)enginegetpytestskipr   r   r   r   )	r   r   r*   r   r   rK   r   rJ   r+   s	   &&&&   @@r   test_utf8_bomrS   ^   s    * F
CD!
 	"EMJJ)400 	IJ__248R4R6RF#x)H&+r   c                     \        R R.RR./4      pT pVP                  V4      pRP                  V4      pVP                  \	        V4      VR7      p\
        P                  ! Ws4       R# )mb_numg333333@	multibytetestzmb_num,multibyte
4.8,testr%   N)r   formatr   r   r   r   r   )r   	utf_valueencoding_fmtr   r   r   r   r   s   &&&     r   test_read_csv_utf_aliasesr[      sb    (SE;ABHF""9-H'..x8D__WT]X_>F&+r   zfile_path,encodingc                    T pV! V!  pVP                  WRR 7      p\        WRR 7      ;_uu_ 4       pVP                  V4      pVP                  '       d   Q h RRR4       \        P                  ! VX4       \        VRR7      ;_uu_ 4       p	VP                  WR 7      pV	P                  '       d   Q h RRR4       \        P                  ! Wh4       \        VR^ R7      ;_uu_ 4       p	VP                  WR 7      pV	P                  '       d   Q h RRR4       \        P                  ! Wh4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     LN; i)r%   Nrb)mode)r^   	buffering)r   r'   closedr   r   )
r   	file_pathr   datapathr   fpathr   far   fbs
   &&&&      r   test_binary_mode_file_buffersrf      s
    Fi Eu8H	e	'	'2$999}9 
( (F+	e$		27999}9 
  (+	e$!	,	,7999}9 
- (+ 
(	'
 
 	
 
-	,s#   &D.
'E&'E.D>	E	E$	pass_encodingc                    T pVP                  V4      pVP                  R 8X  d$   VRJ d   VR
9   d   \        P                  ! R4       \	        RR./4      pVP                  RVR7      ;_uu_ 4       pVP                  R4       VP                  ^ 4       TP                  Y'       d   TMRR	7      p	\        P                  ! W4       RRR4       R#   + '       g   i     R# ; i)rM   TzThese cases freezefoobarzw+r^   r   zfoo
barNr%   )       )rX   rO   rQ   rR   r   r'   r(   seekr   r   r   )
r   rY   rZ   rg   r)   r   r   r   r-   r   s
   &&&&&     r   test_encoding_temp_filero      s    
 F""9-H}}	!mt&;	X@U()%%)*H	TH	5	5	
	q	XDQ
f/ 
6	5	5	5s   1ACC!	c                    T pR pRpRp\        W4./4      p\        P                  ! 4       ;_uu_ 4       pVP                  V RV 2P	                  V4      4       VP                  ^ 4       VP                  WbR7      p\        P                  ! Wu4       VP                  '       d   Q h RRR4       R#   + '       g   i     R# ; i)z	shift-jisu	   てすとu   こむ
r%   N)
r   tempfileNamedTemporaryFiler(   r   rn   r   r   r   r`   )r   r   r   titler   r   r-   r   s   &       r   test_encoding_named_temp_fileru      s    FHED%)H		$	$	&	&!	5'D6"))(34	q	6
f/888|8 
'	&	&	&s   A3B11C	c                     R p\        VP                  V 4      4      p\        VRV R7      p\        R^ .R^.R^..RR.R7      p\        P
                  ! W44       R	# )
u   a	b
：foo	0
bar	1
baz	2r!   )	delimiterr   u   ：foorj   bazrA   rB   )r   r   Nr   )r   r   encoded_datar   r   s   &    r   %test_parse_encoded_special_charactersrz      sa     -D4;;x01LldXFFmeQZ%4c
H &+r   c           	         T p\        R . ROR. ROR. RO/4      pVP                  VRVR7       VP                  R8X  dE   Rp\        P                  ! \
        VR7      ;_uu_ 4        VP                  W!RR	7       R
R
R
4       R
# VP                  W!RR	7      p\        P                  ! Wd4       R
#   + '       g   i     R
# ; i)namemaskweaponF)indexr   rM   BThe 'memory_map' option is not supported with the 'pyarrow' enginematchT)r   
memory_mapN)Raphael	DonatellozMiguel AngelLeonardo)redpurpleorangeblue)saizbo staffnunchunkkatana)	r   to_csvrO   rQ   raises
ValueErrorr   r   r   )r   r   r)   r   r   msgdfs   &&&    r   test_encoding_memory_mapr      s     FH7?	
H OOIUXO>}}	!R]]:S11OOITOJ 2	$	GB"' 21s   %B..B?	c                   T p\        R.R,          R7      pRVP                  R&   VP                  VRRRR7       VP                  R8X  dF   Rp\        P
                  ! \        VR	7      ;_uu_ 4        VP                  VR
RR7       R
R
R
4       R
# VP                  VR
RR7      p\        P                  ! WS4       R
#   + '       g   i     R
# ; i)zC
Chunk splits a multibyte character with memory_map=True

GH 43540
i   )r   i  Fr   r   r   r   rM   r   r   NT)r   r   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaau   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaą)
r   ilocr   rO   rQ   r   r   r   r   r   )r   r)   r   r   r   dfrs   &&    r    test_chunk_splits_multibyte_charr     s     F	d*	+B %BGGDMIIiuUWIE}}	!R]]:S11OOIdtOD 2
//)DT/
BC#" 21s   2B==C	c           	        . p^pRpRp\        \        V4      \        V4      V4       Fg  pRP                  \        Wf^,           4       Uu. uF  p\        V4      NK  	  up4      R,           p VP	                  R4       TP                  T4       Ki  	  T p	\        V4      p
V
P                  VRRRR7       V	P                  R8X  dG   R	p\        P                  ! \        VR
7      ;_uu_ 4        V	P                  VRRRR7       RRR4       R# V	P                  VRRRR7      p\        P                  ! W4       R# u upi   \
         d     EK%  i ; i  + '       g   i     R# ; i)z[
GH 43787

Test correct handling of UTF-8 chars when memory_map=True and encoding is UTF-8
 u   𐂀 rq   r   Fr   rM   r   r   NT)r   r   r   )rangeordr4   chrr   UnicodeEncodeErrorappendr   r   rO   rQ   r   r   r   r   r   )r   r)   linesline_length
start_charend_charlnumcliner   r   r   r   s   &&           r   test_readcsv_memmap_utf8r     s3    EKJH c*os8}kBwwd4K(@A(@1A(@ABTI	KK  	T C F	5	BIIiuUWIE}}	!R]]:S11OOIdtgOV 2
//)DTG/
TC""# B " 		 21s$   
D9
-D>,E>EEE"	pyarrow_xfailr^   zw+bzw+tc                 H   T pR pRV9   d   Rp\         P                  ! VRR7      ;_uu_ 4       pVP                  V4       VP                  ^ 4       VP	                  V4      pRRR4       \        . R.R7      p\        P                  ! XV4       R#   + '       g   i     L7; i)s   abcdtabcdr   rk   Nr   )rr   SpooledTemporaryFiler(   rn   r   r   r   r   )r   r^   r   contenthandler   r   s   &&     r   test_not_readabler   @  s     FG
d{		&	&D7	C	CvWA__V$ 
D fX.H"h' 
D	Cs   4BB!	)r1   zutf-16lezutf-16be)))ior   csvz	test1.csvr   ))r   r   r   r9   r:   ))r   r   r   zsauron.SHIFT_JIS.csvshiftjis)r   r1   z	utf-16-bez	utf-16-lezutf-32)r   Nr1   r   r:   )%__doc__r   r   r   r2   rr   numpynprQ   pandasr   r   pandas._testing_testingr   markfilterwarnings
pytestmarkusefixturesskip_pyarrowr   r   parametrizer/   r7   r=   nanrS   r[   rf   ro   ru   rz   r   r   r   r    r   r   <module>r      sW  
 
    [[''C
 {{&&~6, , , d,%GH, I - ,,	  
aS	K%s+	'C5!C:.	3%!3T:QC@ se/7VVQK	
&,'&,.	, ,,0 4-80 90*( G,, %ST( U(,#2#B )%0( 1 *(r   