Ë
    u™ãj  ã                  ó    — d dl mZ d dlmZmZ d dlZd dlmZ d dlm	Z	 d dl
mZ d dlmZ erd dlmZmZ d d	lmZmZmZmZ  G d
„ ded   «      Zy)é    )Úannotations)ÚTYPE_CHECKINGÚAnyN)Úimport_optional_dependency)ÚPandas4Warning)Úfind_stack_level)ÚBaseExcelReader)ÚWorkbookÚ	Worksheet)ÚFilePathÚ
ReadBufferÚScalarÚStorageOptionsc                  óš   ‡ — e Zd Z	 	 d		 	 	 	 	 	 	 d
ˆ fd„Zedd„«       Z	 	 	 	 	 	 dd„Zedd„«       Zdd„Zdd„Z	dd„Z
	 d	 	 	 	 	 dd„Zˆ xZS )ÚPyxlsbReaderc                óˆ   •— t        d«       t        j                  dt        t	        «       ¬«       t
        ‰| �  |||¬«       y)a¼  
        Reader using pyxlsb engine.

        Parameters
        ----------
        filepath_or_buffer : str, path object, or Workbook
            Object to be parsed.
        storage_options : dict, optional
            Extra options that make sense for a particular storage connection, e.g.
            host, port, username, password, etc. For HTTP(S) URLs the key-value pairs
            are forwarded to ``urllib.request.Request`` as header options. For other
            URLs (e.g. starting with "s3://", and "gcs://") the key-value pairs are
            forwarded to ``fsspec.open``. Please see ``fsspec`` and ``urllib`` for more
            details, and for more examples on storage options refer `here
            <https://pandas.pydata.org/docs/user_guide/io.html?
            highlight=storage_options#reading-writing-remote-files>`_.
        engine_kwargs : dict, optional
            Arbitrary keyword arguments passed to excel engine.
        Úpyxlsbz‡The pyxlsb engine is deprecated and will be removed in a future version. Use the calamine engine instead, by setting engine='calamine'.)Ú
stacklevel)Ústorage_optionsÚengine_kwargsN)r   ÚwarningsÚwarnr   r   ÚsuperÚ__init__)ÚselfÚfilepath_or_bufferr   r   Ú	__class__s       €úb/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/io/excel/_pyxlsb.pyr   zPyxlsbReader.__init__   sE   ø€ ô2 	# 8Ô,Ü�‰ðMäÜ'Ó)õ		
ô 	‰ÑØØ+Ø'ð 	õ 	
ó    c                ó   — ddl m} |S )Nr   )r
   )r   r
   )r   r
   s     r   Ú_workbook_classzPyxlsbReader._workbook_classG   s
   € å#àˆr   c                ó    — ddl m}  ||fi |¤ŽS )Nr   )Úopen_workbook)r   r#   )r   r   r   r#   s       r   Úload_workbookzPyxlsbReader.load_workbookM   s   € õ
 	)ñ Ð/ÑA°=ÑAÐAr   c                ó.   — | j                   j                  S ©N)ÚbookÚsheets)r   s    r   Úsheet_nameszPyxlsbReader.sheet_namesZ   s   € à�y‰y×ÑÐr   c                óZ   — | j                  |«       | j                  j                  |«      S r&   )Úraise_if_bad_sheet_by_namer'   Ú	get_sheet)r   Únames     r   Úget_sheet_by_namezPyxlsbReader.get_sheet_by_name^   s%   € Ø×'Ñ'¨Ô-Ø�y‰y×"Ñ" 4Ó(Ð(r   c                ó`   — | j                  |«       | j                  j                  |dz   «      S )Né   )Úraise_if_bad_sheet_by_indexr'   r,   )r   Úindexs     r   Úget_sheet_by_indexzPyxlsbReader.get_sheet_by_indexb   s+   € Ø×(Ñ(¨Ô/ð �y‰y×"Ñ" 5¨1¡9Ó-Ð-r   c                óÞ   — |j                   €yt        |j                   t        «      r;t        |j                   «      }||j                   k(  r|S t        |j                   «      S |j                   S )NÚ )ÚvÚ
isinstanceÚfloatÚint)r   ÚcellÚvals      r   Ú_convert_cellzPyxlsbReader._convert_cellh   sR   € ð �6‰6ˆ>ØÜ�d—f‘fœeÔ$Ü�d—f‘f“+ˆCØ�d—f‘fŠ}Ø�
ä˜TŸV™V“}Ð$à�v‰vˆr   c                ó  — g }d}|j                  d¬«      D ]—  }|d   j                  }|D �cg c]  }| j                  |«      ‘Œ }}|r#|d   dk(  r|j                  «        |r	|d   dk(  rŒ|r.|j	                  g g||z
  dz
  z  «       |j                  |«       |}|€Œˆt        |«      |k\  sŒ— n |rKt        d„ |D «       «      }	t        d„ |D «       «      |	k  r$dg}
|D �cg c]  }||	t        |«      z
  |
z  z   ‘Œ }}|S c c}w c c}w )	NéÿÿÿÿT)Úsparser   r5   r0   c              3  ó2   K  — | ]  }t        |«      –— Œ y ­wr&   ©Úlen©Ú.0Údata_rows     r   ú	<genexpr>z.PyxlsbReader.get_sheet_data.<locals>.<genexpr>�   s   è ø€ Ò?¨hœC ŸMÑ?ùó   ‚c              3  ó2   K  — | ]  }t        |«      –— Œ y ­wr&   rA   rC   s     r   rF   z.PyxlsbReader.get_sheet_data.<locals>.<genexpr>Ž   s   è ø€ Ò6 X”3�x—=Ñ6ùrG   )	ÚrowsÚrr<   ÚpopÚextendÚappendrB   ÚmaxÚmin)r   ÚsheetÚfile_rows_neededÚdataÚprevious_row_numberÚrowÚ
row_numberr:   Úconverted_rowÚ	max_widthÚ
empty_cellrE   s               r   Úget_sheet_datazPyxlsbReader.get_sheet_datav   s?  € ð
 $&ˆØ Ðð —:‘: T�:Ó*ò 	ˆCØ˜Q™Ÿ™ˆJØBEÖF¸$˜T×/Ñ/°Õ5ÐFˆMÐFÙ M°"Ñ$5¸Ò$;à×!Ñ!Ô#ñ   M°"Ñ$5¸Ó$;ñ Ø—‘˜R˜D JÐ1DÑ$DÀqÑ$HÑIÔJØ—‘˜MÔ*Ø&0Ð#ØÑ+´°D³	Ð=MÓ0MÙð	ñ äÑ?¸$Ô?Ó?ˆIÜÑ6°Ô6Ó6¸ÒBØ,.¨4�
ð %)öà ð  	¬C°«MÑ 9¸ZÑGÓGð�ð ð ˆùò' Gùòs   ­D Ã!D)NN)r   úFilePath | ReadBuffer[bytes]r   zStorageOptions | Noner   zdict[str, Any] | NoneÚreturnÚNone)r[   ztype[Workbook])r   rZ   r   zdict[str, Any]r[   r
   )r[   z	list[str])r-   Ústrr[   r   )r2   r9   r[   r   )r:   r   r[   r   r&   )rP   r   rQ   z
int | Noner[   zlist[list[Scalar]])Ú__name__Ú
__module__Ú__qualname__r   Úpropertyr!   r$   r)   r.   r3   r<   rY   Ú__classcell__)r   s   @r   r   r      s¹   ø„ ð 26Ø/3ð	&
à8ð&
ð /ð&
ð -ð	&
ð
 
õ&
ðP òó ðð
Bà8ðBð &ðBð 
ó	Bð ò ó ð ó)ó.óð" (,ðàðð %ðð 
÷	r   r   r
   )Ú
__future__r   Útypingr   r   r   Úpandas.compat._optionalr   Úpandas.errorsr   Úpandas.util._exceptionsr   Úpandas.io.excel._baser	   r   r
   r   Úpandas._typingr   r   r   r   r   © r   r   ú<module>rk      sC   ðå "÷ó å >Ý (Ý 4å 1á÷÷
ó ôv�? :Ñ.õ vr   