gL iddlmZddlmZddlmZddlmZddlm Z ddl m Z erddl m Z ddlmZmZmZmZGd d e d Zy ) ) annotations) TYPE_CHECKING)import_optional_dependency)doc) _shared_docs)BaseExcelReaderWorkbook)FilePath ReadBufferScalarStorageOptionsceZdZeed d d fd Zed dZ ddZeddZ ddZ ddZ dd Z d dd Z xZS) PyxlsbReaderstorage_options)rc@tdt| |||y)a1 Reader using pyxlsb engine. Parameters ---------- filepath_or_buffer : str, path object, or Workbook Object to be parsed. {storage_options} engine_kwargs : dict, optional Arbitrary keyword arguments passed to excel engine. pyxlsb)r engine_kwargsN)rsuper__init__)selffilepath_or_bufferrr __class__s ]/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pandas/io/excel/_pyxlsb.pyrzPyxlsbReader.__init__s*$ #8,  +'  cddlm}|S)Nrr )rr )rr s r_workbook_classzPyxlsbReader._workbook_class4s #rc ddlm}||fi|S)Nr) open_workbook)rr)rrrrs r load_workbookzPyxlsbReader.load_workbook:s ) /A=AArc.|jjSN)booksheets)rs r sheet_nameszPyxlsbReader.sheet_namesEsyyrcZ|j||jj|Sr")raise_if_bad_sheet_by_namer# get_sheet)rnames rget_sheet_by_namezPyxlsbReader.get_sheet_by_nameIs% ''-yy""4((rc`|j||jj|dzS)N)raise_if_bad_sheet_by_indexr#r()rindexs rget_sheet_by_indexzPyxlsbReader.get_sheet_by_indexMs+ ((/yy""519--rc|jyt|jtr;t|j}||jk(r|St|jS|jS)N)v isinstancefloatint)rcellvals r _convert_cellzPyxlsbReader._convert_cellSsR 66> dffe $dff+Cdff} TVV}$vv rcg}d}|jdD]}|dj}|Dcgc]}|j|}}|r#|ddk(r|j|r |ddk(r|r.|j gg||z dz z|j ||}|t ||k\sn|rKtd|D} td|D| kr$dg} |D cgc]} | | t | z | zz}} |Scc}wcc} w) NT)sparserr1r,c32K|]}t|ywr"len.0data_rows r z.PyxlsbReader.get_sheet_data..xs?hCM?c32K|]}t|ywr"r=r?s rrBz.PyxlsbReader.get_sheet_data..ys6X3x=6rC) rowsrr8popextendappendr>maxmin) rsheetfile_rows_neededdataprevious_row_numberrow row_numberr6 converted_row max_width empty_cellrAs rget_sheet_datazPyxlsbReader.get_sheet_dataas? $& ::T:* CQJBEF$T//5FMFM"$5$;!!# M"$5$; RDJ1D$Dq$HIJ M*&0#+D =M0M  ?$??I666B,.4 %)  CM 9ZGG 'Gs D!D)NN)rFilePath | ReadBuffer[bytes]rzStorageOptions | Nonerz dict | NonereturnNone)rWztype[Workbook])rrVrWr )rWz list[str])r)str)r.r5)rWr r")rMz int | NonerWzlist[list[Scalar]])__name__ __module__ __qualname__rrrpropertyrr r%r*r/r8rU __classcell__)rs@rrrs&78926%)  8 / #    : 4 B"> B  B  ). "(,%  rrr N) __future__rtypingrpandas.compat._optionalrpandas.util._decoratorsrpandas.core.shared_docsrpandas.io.excel._baserrr pandas._typingr r r rrrrrgs:" >'01g?:.gr