
    Mh              	          S SK Jr  S SKJrJrJrJr  S SKJrJrJ	r	  S SK
Jr  S SKJr  S SKrS SKJr  S SKJr  \(       a  S S	KJrJr  S S
KJrJrJrJrJr  \	\\\\ \\\\4   r! " S S\S   5      r"g)    )annotations)datedatetimetime	timedelta)TYPE_CHECKINGAnyUnion)import_optional_dependency)docN)_shared_docs)BaseExcelReader)CalamineSheetCalamineWorkbook)FilePathNaTType
ReadBufferScalarStorageOptionsc                     ^  \ rS rSr\" \S   S9  S       SU 4S jjj5       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S
 jjrSrU =r$ )CalamineReader(   storage_options)r   c                :   > [        S5        [        TU ]	  UUUS9  g)z
Reader using calamine engine (xlsx/xls/xlsb/ods).

Parameters
----------
filepath_or_buffer : str, path to be parsed or
    an open readable stream.
{storage_options}
engine_kwargs : dict, optional
    Arbitrary keyword arguments passed to excel engine.
python_calamine)r   engine_kwargsN)r   super__init__)selffilepath_or_bufferr   r   	__class__s       K/var/www/html/env/lib/python3.13/site-packages/pandas/io/excel/_calamine.pyr   CalamineReader.__init__)   s)    $ 	##45+' 	 	
    c                    SSK Jn  U$ )Nr   )r   )r   r   )r   r   s     r"   _workbook_classCalamineReader._workbook_classB   s    4r$   c                     SSK Jn  U" U40 UD6$ )Nr   )load_workbook)r   r)   )r   r    r   r)   s       r"   r)   CalamineReader.load_workbookH   s     	2/A=AAr$   c                    SSK Jn  U R                  R                   Vs/ s H+  nUR                  UR
                  :X  d  M  UR                  PM-     sn$ s  snf )Nr   )SheetTypeEnum)r   r,   booksheets_metadatatyp	WorkSheetname)r   r,   sheets      r"   sheet_namesCalamineReader.sheet_namesO   sN    1 22
2yyM333 EJJ2
 	
 
s   AAc                Z    U R                  U5        U R                  R                  U5      $ N)raise_if_bad_sheet_by_namer-   get_sheet_by_name)r   r1   s     r"   r8    CalamineReader.get_sheet_by_nameY   s%    ''-yy**400r$   c                Z    U R                  U5        U R                  R                  U5      $ r6   )raise_if_bad_sheet_by_indexr-   get_sheet_by_index)r   indexs     r"   r<   !CalamineReader.get_sheet_by_index]   s%    ((/yy++E22r$   c           
         SS jnUR                  SUS9nU VVs/ s H  oU Vs/ s H
  oc" U5      PM     snPM     nnnU$ s  snf s  snnf )Nc                2   [        U [        5      (       a  [        U 5      nX:X  a  U$ U $ [        U [        5      (       a  [        R
                  " U 5      $ [        U [        5      (       a  [        R                  " U 5      $ [        U [        5      (       a  U $ U $ r6   )	
isinstancefloatintr   pd	Timestampr   	Timedeltar   )valuevals     r"   _convert_cell4CalamineReader.get_sheet_data.<locals>._convert_celld   sv    %''%j<J LE4((||E**E9--||E**E4((Lr$   F)skip_empty_areanrows)rG   
_CellValuereturnzScalar | NaTType | time)	to_python)r   r2   file_rows_neededrI   rowsrowcelldatas           r"   get_sheet_dataCalamineReader.get_sheet_dataa   s[    	  (-!)9 (7 (
 BFF#5t$5F 6Fs   	AAAA )NN)r    FilePath | ReadBuffer[bytes]r   zStorageOptions | Noner   zdict | NonerN   None)rN   ztype[CalamineWorkbook])r    rX   r   r	   rN   r   )rN   z	list[str])r1   strrN   r   )r=   rC   rN   r   r6   )r2   r   rP   z
int | NonerN   z#list[list[Scalar | NaTType | time]])__name__
__module____qualname____firstlineno__r   r   r   propertyr&   r)   r3   r8   r<   rU   __static_attributes____classcell__)r!   s   @r"   r   r   (   s    &789 26%)	
8
 /
 #	

 

 :
0    
B">BORB	B 
 
13
 DH"6@	, r$   r   r   )#
__future__r   r   r   r   r   typingr   r	   r
   pandas.compat._optionalr   pandas.util._decoratorsr   pandasrD   pandas.core.shared_docsr   pandas.io.excel._baser   r   r   r   pandas._typingr   r   r   r   r   rC   rB   rZ   boolrM   r   rW   r$   r"   <module>rk      sp    "   ? '  0 1
  3sD$h	IJ
Q_%78 Qr$   