
    4i                        S SK Jr  S SKJr  S SKJr  S SKJr  \(       a  S SKJ	r	  S SK
JrJrJrJr   " S S\S	   5      rg
)    )annotations)TYPE_CHECKING)import_optional_dependency)BaseExcelReaderWorkbook)FilePath
ReadBufferScalarStorageOptionsc                     ^  \ rS rSr  S       SU 4S jjjr\SS j5       r    SS jr\SS j5       rSS jr	SS jr
SS jr S   SS	 jjrS
rU =r$ )PyxlsbReader   c                :   > [        S5        [        TU ]	  UUUS9  g)a4  
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.
pyxlsb)storage_optionsengine_kwargsN)r   super__init__)selffilepath_or_bufferr   r   	__class__s       Y/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/pandas/io/excel/_pyxlsb.pyr   PyxlsbReader.__init__   s*    2 	#8, 	+' 	 	
    c                    SSK Jn  U$ )Nr   r   )r   r   )r   r   s     r   _workbook_classPyxlsbReader._workbook_class8   s
    #r   c                     SSK Jn  U" U40 UD6$ )Nr   )open_workbook)r   r    )r   r   r   r    s       r   load_workbookPyxlsbReader.load_workbook>   s     	) /A=AAr   c                .    U R                   R                  $ N)booksheets)r   s    r   sheet_namesPyxlsbReader.sheet_namesI   s    yyr   c                Z    U R                  U5        U R                  R                  U5      $ r$   )raise_if_bad_sheet_by_namer%   	get_sheet)r   names     r   get_sheet_by_namePyxlsbReader.get_sheet_by_nameM   s%    ''-yy""4((r   c                `    U R                  U5        U R                  R                  US-   5      $ )N   )raise_if_bad_sheet_by_indexr%   r+   )r   indexs     r   get_sheet_by_indexPyxlsbReader.get_sheet_by_indexQ   s+    ((/ yy""519--r   c                    UR                   c  g[        UR                   [        5      (       a;  [        UR                   5      nX!R                   :X  a  U$ [        UR                   5      $ UR                   $ )N )v
isinstancefloatint)r   cellvals      r   _convert_cellPyxlsbReader._convert_cellW   sS     66>dffe$$dff+Cff}
TVV}$vvr   c                N   / nSnUR                  SS9 H  nUS   R                  nU Vs/ s H  opR                  U5      PM     nnU(       a+  US   S:X  a"  UR                  5         U(       a  US   S:X  a  M"  U(       a-  UR	                  / /Xd-
  S-
  -  5        UR                  U5        UnUc  M  [        U5      U:  d  M    O   U(       aN  [        S U 5       5      n	[        S U 5       5      U	:  a&  S/n
U Vs/ s H  nX[        U5      -
  U
-  -   PM     nnU$ s  snf s  snf )	NT)sparser   r6   r0   c              3  8   #    U  H  n[        U5      v   M     g 7fr$   len.0data_rows     r   	<genexpr>.PyxlsbReader.get_sheet_data.<locals>.<genexpr>|   s     ?$hCMM$   c              3  8   #    U  H  n[        U5      v   M     g 7fr$   rC   rE   s     r   rH   rI   }   s     6X3x==rJ   )	rowsrr=   popextendappendrD   maxmin)r   sheetfile_rows_neededdataprevious_row_numberrow
row_numberr;   converted_row	max_width
empty_cellrG   s               r   get_sheet_dataPyxlsbReader.get_sheet_datae   s7   
 $&  ::T:*CQJBEF#$//5#MFM"$5$;!!#  M"$5$; RDJ$Dq$HIJM*&0#+D	=M0M + ?$??I666B,.4
 %)$( CM 9ZGG$(   ' Gs   D<D" )NN)r   FilePath | ReadBuffer[bytes]r   zStorageOptions | Noner   zdict | NonereturnNone)r`   ztype[Workbook])r   r_   r`   r   )r`   z	list[str])r,   str)r2   r:   )r`   r   r$   )rT   z
int | Noner`   zlist[list[Scalar]])__name__
__module____qualname____firstlineno__r   propertyr   r!   r'   r-   r3   r=   r\   __static_attributes____classcell__)r   s   @r   r   r      s     26%)	 
8 
 / 
 #	 

 
 
  
D  
	B">	B		B    )." (, % 
	 r   r   r   N)
__future__r   typingr   pandas.compat._optionalr   pandas.io.excel._baser   r   r   pandas._typingr	   r
   r   r   r   r^   r   r   <module>ro      s4    "   > 1 n?:. nr   