+
    xȇi9*                       R t ^ RIHt ^ RIHtHtHtHt ^ RIt	^ RI
t
^ RIHtHtHt ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHtHtHtHt ^ R	IHt ^ R
IH t  ^ RI!H"t" ]'       d   ^ RIH#t#H$t$H%t%H&t&H't'H(t(H)t) ^ RI*H+t+ Rt, ! R R4      t-R# )z3
Module for formatting output data into CSV files.
)annotations)HashableIterableIteratorSequenceN)TYPE_CHECKINGAnycast)writers)SequenceNotStr)cache_readonly)ABCDatetimeIndexABCIndexABCMultiIndexABCPeriodIndex)notna)Index)
get_handle)CompressionOptionsFilePathFloatFormatType
IndexLabelStorageOptionsWriteBuffernpt)DataFrameFormatteri c                     ] tR t^8t$ R]R&   R;R R llt]R R l4       t]R R	 l4       t]R
 R l4       t	]R R l4       t
]R R l4       tR R ltR R ltR R ltR R ltR R lt]R R l4       tR R ltR R lt]R  R! l4       t]R" R# l4       t]R$ R% l4       t]R& R' l4       t]R( R) l4       t]R* R+ l4       t]R, R- l4       tR. R/ ltR0 R1 ltR2 R3 ltR4 R5 ltR6 R7 lt R8 R9 lt!R:t"R# )<CSVFormatternpt.NDArray[np.object_]colsNc          $     `    V ^8  d   QhRRRRRRRRR	R
RRRRRRRRRRRRRRRRRRRRRRRRRR/# )   	formatterr   path_or_bufz0FilePath | WriteBuffer[str] | WriteBuffer[bytes]sepstrr   zSequence[Hashable] | Noneindex_labelIndexLabel | Nonemodeencoding
str | Noneerrorscompressionr   quoting
int | Nonelineterminator	chunksize	quotechardate_formatdoublequotebool
escapecharstorage_optionszStorageOptions | NonereturnNone )formats   "f/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/io/formats/csvs.py__annotate__CSVFormatter.__annotate__;   s     (? (?%(? F(? 	(?
 ((? '(? (? (? (? ((? (? #(? (? (?  (?  !(?" #(?$ /%(?& 
'(?    c                	   Wn         V P                   P                  V n        W n        Wpn        Wn        W`n        VV n        W0n        V P                  V4      V n
        Wn        T
;'       g    \        P                  V n        Wn        VV n        V P#                  V4      V n        T;'       g    \&        P(                  V n        Wn        V P/                  V4      V n        V P3                  V4      V n        R # N)fmtframeobjfilepath_or_bufferr)   r,   r(   r6   r$   _initialize_index_labelr&   r+   csvlibQUOTE_MINIMALr-   r3   r5   _initialize_quotecharr1   oslinesepr/   r2   _initialize_columnsr   _initialize_chunksizer0   )selfr"   r#   r$   r   r&   r(   r)   r+   r,   r-   r/   r0   r1   r2   r3   r5   r6   s   &&&&&&&&&&&&&&&&&&r;   __init__CSVFormatter.__init__;   s    ( 88>>"- /:	.77D66&"6"6&$33I>,::

&,,T2	33I>r>   c                   V ^8  d   QhRR/# r!   r7   r%   r9   )r:   s   "r;   r<   r=   f   s       r>   c                	.    V P                   P                  # r@   )rA   na_reprM   s   &r;   rS   CSVFormatter.na_repe       xxr>   c                   V ^8  d   QhRR/# )r!   r7   zFloatFormatType | Noner9   )r:   s   "r;   r<   r=   j   s     % %4 %r>   c                	.    V P                   P                  # r@   )rA   float_formatrT   s   &r;   rY   CSVFormatter.float_formati   s    xx$$$r>   c                   V ^8  d   QhRR/# rQ   r9   )r:   s   "r;   r<   r=   n   s          r>   c                	.    V P                   P                  # r@   )rA   decimalrT   s   &r;   r]   CSVFormatter.decimalm   s    xxr>   c                   V ^8  d   QhRR/# )r!   r7   zbool | SequenceNotStr[str]r9   )r:   s   "r;   r<   r=   r   s      2 r>   c                	.    V P                   P                  # r@   )rA   headerrT   s   &r;   ra   CSVFormatter.headerq   rV   r>   c                   V ^8  d   QhRR/# r!   r7   r4   r9   )r:   s   "r;   r<   r=   v   s      t r>   c                	.    V P                   P                  # r@   )rA   indexrT   s   &r;   rf   CSVFormatter.indexu   s    xx~~r>   c                    V ^8  d   QhRRRR/# )r!   r&   r'   r7   r   r9   )r:   s   "r;   r<   r=   y   s      3D  r>   c                	    VR JdH   Vf   V P                  4       # \        V\        \        \        P
                  \        34      '       g   V.# V# )F)_get_index_label_from_obj
isinstancelisttuplenpndarrayr   rM   r&   s   &&r;   rE   $CSVFormatter._initialize_index_labely   sG    e#"5577dE2::x-PQQ#}$r>   c                   V ^8  d   QhRR/# r!   r7   zSequence[Hashable]r9   )r:   s   "r;   r<   r=      s     0 0+= 0r>   c                	    \        V P                  P                  \        4      '       d   V P	                  4       # V P                  4       # r@   )rk   rC   rf   r   _get_index_label_multiindex_get_index_label_flatrT   s   &r;   rj   &CSVFormatter._get_index_label_from_obj   s5    dhhnnm443355--//r>   c                   V ^8  d   QhRR/# rs   r9   )r:   s   "r;   r<   r=      s     = =-? =r>   c                	~    V P                   P                  P                   Uu. uF  q;'       g    R NK  	  up# u upi ) )rC   rf   names)rM   names   & r;   ru   (CSVFormatter._get_index_label_multiindex   s0    '+xx~~';';<';t


';<<<s   ::c                   V ^8  d   QhRR/# rs   r9   )r:   s   "r;   r<   r=      s     > >'9 >r>   c                	V    V P                   P                  P                  pVf   R.# V.# Nrz   )rC   rf   r|   rp   s   & r;   rv   "CSVFormatter._get_index_label_flat   s)    hhnn))"*t==r>   c                    V ^8  d   QhRRRR/# )r!   r1   r*   r7   r9   )r:   s   "r;   r<   r=      s      z j r>   c                	d    V P                   \        P                  8w  g   V P                  e   V# R # r@   )r-   rF   
QUOTE_NONEr5   )rM   r1   s   &&r;   rH   "CSVFormatter._initialize_quotechar   s&    <<6,,,0Kr>   c                   V ^8  d   QhRR/# rd   r9   )r:   s   "r;   r<   r=      s     A A Ar>   c                	\    \        \        V P                  P                  \        4      4      # r@   )r4   rk   rC   columnsr   rT   s   &r;   has_mi_columnsCSVFormatter.has_mi_columns   s    Jtxx//?@@r>   c                    V ^8  d   QhRRRR/# )r!   r   zIterable[Hashable] | Noner7   r   r9   )r:   s   "r;   r<   r=      s      C C-C	 Cr>   c                	x   V P                   '       d   Ve   Rp\        V4      hVec   \        V\        4      '       d   VP                  ! R/ V P
                  B pM\        V4      pV P                  P                  RV3,          V n        V P                  P                  pVP                  ! R/ V P
                  B # )Nz4cannot specify cols with a MultiIndex on the columns:NNNr9   )
r   	TypeErrorrk   r   _get_values_for_csv_number_formatrl   rC   locr   )rM   r   msgnew_colss   &&  r;   rK    CSVFormatter._initialize_columns   s     Ln$$))//F$2E2EFDzxx||AtG,DH 88##++Bd.A.ABBr>   c                    V ^8  d   QhRRRR/# )r!   r0   r.   r7   intr9   )r:   s   "r;   r<   r=      s      z c r>   c                	    Vf5   \         \        V P                  4      ;'       g    ^,          ;'       g    ^# \        V4      # r@   )_DEFAULT_CHUNKSIZE_CELLSlenr   r   )rM   r0   s   &&r;   rL   "CSVFormatter._initialize_chunksize   s5    ,TYY1D1D1EKK!K9~r>   c                   V ^8  d   QhRR/# )r!   r7   zdict[str, Any]r9   )r:   s   "r;   r<   r=      s     
 
 
r>   c           
     ~    RV P                   RV P                  RV P                  RV P                  RV P                  /# )z7Dictionary used for storing number formatting settings.rS   rY   r2   r-   r]   )rS   rY   r2   r-   r]   rT   s   &r;   r   CSVFormatter._number_format   s?     dkkD--4++t||t||
 	
r>   c                   V ^8  d   QhRR/# )r!   r7   r   r9   )r:   s   "r;   r<   r=      s      E r>   c                	n   V P                   P                  p\        V\        \        34      '       dX   V P
                  eJ   \        V Uu. uF1  p\        V4      '       d   VP                  V P
                  4      MRNK3  	  up4      pV# \        V\        4      '       d   VP                  4       pV# u upi r   )rC   rf   rk   r   r   r2   r   r   strftimer   remove_unused_levels)rM   
data_indexxs   &  r;   r   CSVFormatter.data_index   s    XX^^
z$4n#EFF  ,KUV:aqD,,-rA:VJ
  
M22#88:J	 Ws   
7B2c                   V ^8  d   QhRR/# )r!   r7   r   r9   )r:   s   "r;   r<   r=      s       r>   c                	X    V P                   '       d   \        V P                  R ^4      # ^ # )nlevels)rf   getattrr   rT   s   &r;   r   CSVFormatter.nlevels   s!    :::4??Iq99r>   c                   V ^8  d   QhRR/# rd   r9   )r:   s   "r;   r<   r=      s     L Ld Lr>   c                	j    \        V P                  \        \        \        P
                  \        34      # r@   )rk   ra   rm   rl   rn   ro   r   rT   s   &r;   _has_aliasesCSVFormatter._has_aliases   s     $++tRZZ'JKKr>   c                   V ^8  d   QhRR/# rd   r9   )r:   s   "r;   r<   r=      s     6 6d 6r>   c                	T    \        V P                  ;'       g    V P                  4      # r@   )r4   r   ra   rT   s   &r;   _need_to_save_header!CSVFormatter._need_to_save_header   s    D%%4455r>   c                   V ^8  d   QhRR/# )r!   r7   zSequenceNotStr[Hashable]r9   )r:   s   "r;   r<   r=      s     = =4 =r>   c                	   V P                   '       d   \        V P                  \        4      '       d   Q h\	        V P                  4      \	        V P
                  4      8w  d9   \        R \	        V P
                  4       R\	        V P                  4       R24      hV P                  # \        \        \        ,          V P
                  4      # )zWriting z cols but got z aliases)
r   rk   ra   r4   r   r   
ValueErrorr	   r   r   rT   s   &r;   
write_colsCSVFormatter.write_cols   s    !$++t44444;;3tyy>1 s499~.nS=M<NhW  ;; x0$))<<r>   c                   V ^8  d   QhRR/# )r!   r7   zlist[Hashable]r9   )r:   s   "r;   r<   r=      s     
 
 
r>   c                	@   . pV P                   '       dJ   V P                  '       d8   \        V P                  \        4      '       g   Q h\	        V P                  4      pV P
                  '       d   V P                  '       d   V\	        V P                  4      ,          pV# r@   )rf   r&   rk   r   rl   r   r   r   )rM   encoded_labelss   & r;   r   CSVFormatter.encoded_labels   st    )+:::$***d..9999!$"2"23N"""d&7&7&7d4??33Nr>   c                   V ^8  d   QhRR/# r!   r7   r8   r9   )r:   s   "r;   r<   r=      s      d r>   c                   \        V P                  V P                  V P                  V P                  V P
                  V P                  R7      ;_uu_ 4       p\        P                  ! VP                  V P                  V P                  V P                  V P                  V P                  V P                  R7      V n        V P!                  4        RRR4       R#   + '       g   i     R# ; i)z
Create the writer & save.
)r)   r+   r,   r6   )r/   	delimiterr-   r3   r5   r1   N)r   rD   r(   r)   r+   r,   r6   rF   writerhandler/   r$   r-   r3   r5   r1   _save)rM   handless   & r;   saveCSVFormatter.save   s    
 ##II]];;(( 00
 
  !--#22(( ,,??..DK JJL+
 
 
 
s   A9CC*	c                   V ^8  d   QhRR/# r   r9   )r:   s   "r;   r<   r=     s      t r>   c                	j    V P                   '       d   V P                  4        V P                  4        R # r@   )r   _save_header
_save_bodyrT   s   &r;   r   CSVFormatter._save  s$    $$$r>   c                   V ^8  d   QhRR/# r   r9   )r:   s   "r;   r<   r=     s     * *d *r>   c                	    V P                   '       d   V P                  '       d(   V P                  P                  V P                  4       R # V P                  4        F  pV P                  P                  V4       K   	  R # r@   )r   r   r   writerowr    _generate_multiindex_header_rows)rM   rows   & r;   r   CSVFormatter._save_header  sV    """d&7&7&7KK  !4!45<<>$$S) ?r>   c                   V ^8  d   QhRR/# )r!   r7   zIterator[list[Hashable]]r9   )r:   s   "r;   r<   r=     s     < <2J <r>   c              #  	  "   V P                   P                  p\        VP                  4       F  p. pV P                  '       d   VP                  VP                  V,          4       \        V P                  \        4      '       dN   \        V P                  4      ^8  d4   VP                  R.\        V P                  4      ^,
          ,          4       VP                  VP                  V4      4       Vx  K  	  V P                  '       dF   \        V P                  4      R08w  d)   V P                  R.\        V4      ,          ,           x  R# R# R# 5i)   rz   N)rC   r   ranger   rf   appendr{   rk   r&   rl   r   extend_get_level_valuesr   set)rM   r   icol_lines   &   r;   r   -CSVFormatter._generate_multiindex_header_rows  s     ((""w'AHzzza 01d..55#d>N>N:ORS:SOORDC0@0@,AA,E$FGOOG55a89N (  3t':':#;t#C%%s7|(;;; $Ds   DEAEc                   V ^8  d   QhRR/# r   r9   )r:   s   "r;   r<   r=   3  s     - -D -r>   c                	   \        V P                  4      pWP                  ,          ^,           p\        V4       FK  pW0P                  ,          p\	        W@P                  ,           V4      pWE8  d    R# V P                  WE4       KM  	  R# )r   N)r   r   r0   r   min_save_chunk)rM   nrowschunksr   start_iend_is   &     r;   r   CSVFormatter._save_body3  se    DOO$>>)Q.vA..(G..0%8EW, r>   c               $    V ^8  d   QhRRRRRR/# )r!   r   r   r   r7   r8   r9   )r:   s   "r;   r<   r=   =  s!     
 
3 
s 
t 
r>   c                	   \        W4      pV P                  P                  V,          pVP                  ! R/ V P                  B p\        VP                  4       4      pV P                  ^ 8w  d.   V P                  V,          P                  ! R/ V P                  B M\        P                  ! W!,
          4      p\        P                  ! VVV P                  V P                  V P                  4       R# )    Nr9   )slicerC   ilocr   r   rl   _iter_column_arraysr   r   rn   empty
libwriterswrite_csv_rowsr   r   )rM   r   r   slicerdfresdataixs   &&&     r;   r   CSVFormatter._save_chunk=  s    w&XX]]6"$$;t':':;C++-. ||q  OOF#77N$:M:MN%/* 	
 	!!LLIIKK	
r>   )r0   r   r,   r2   r3   r)   r+   r5   rD   rA   r&   r/   r(   rC   r1   r-   r$   r6   r   )rz   ,NNwNstrictinferN
N"NTNN)#__name__
__module____qualname____firstlineno____annotations__rN   propertyrS   rY   r]   ra   rf   rE   rj   ru   rv   rH   r   rK   rL   r   r   r   r   r   r   r   r   r   r   r   r   r   r   __static_attributes__r9   r>   r;   r   r   8   s]   
!!(?T   % %        0=> A AC*
 
 
     L L 6 6 = = 
 
8
*<*-
 
r>   r   ).__doc__
__future__r   collections.abcr   r   r   r   csvrF   rI   typingr   r   r	   numpyrn   pandas._libsr
   r   pandas._typingr   pandas.util._decoratorsr   pandas.core.dtypes.genericr   r   r   r   pandas.core.dtypes.missingr   pandas.core.indexes.apir   pandas.io.commonr   r   r   r   r   r   r   r   pandas.io.formats.formatr   r   r   r9   r>   r;   <module>r     sy    #   	   . ) 2  - ) '   < # X
 X
r>   