Ȯ$i pddlZddlZddlZddlZddlmZddlmZmZm Z m Z m Z m Z m Z mZmZmZddlmZmZmZddlmZddlddlmZmZdd lmZdd lmZm Z m!Z!d d d ddddZ"dZ#e$e%ee%e#Z&ddZ'dejPddddddddf dZ)ejPdfdZ*ejPfdZ+y)N) timemachine) XL_CELL_BLANKXL_CELL_BOOLEAN XL_CELL_DATE XL_CELL_EMPTY XL_CELL_ERRORXL_CELL_NUMBER XL_CELL_TEXT XLRDErrorbiff_text_from_numerror_text_from_code)Bookcolnameopen_workbook_xls) SIGNATURE)*) __VERSION__ __version__) empty_cell) XLDateErrorxldate_as_datetimexldate_as_tuplez Excel xlszExcel 2007 xlsb filezExcel xlsx filezOpenoffice.org ODS filezUnknown ZIP filezUnknown file type)xlsxlsbxlsxodszipNsPKc|r |dt}nItjj|}t |d5}|j t}dddj try|j trxtj|rtj|n|}|jDcic]#}|jddj|%}}d|vryd|vry d |vry y y#1swYxYwcc}w) a\ Inspect the content at the supplied path or the :class:`bytes` content provided and return the file's type as a :class:`str`, or ``None`` if it cannot be determined. :param path: A :class:`string ` path containing the content to inspect. ``~`` will be expanded. :param content: The :class:`bytes` content to inspect. :returns: A :class:`str`, or ``None`` if the format cannot be determined. The return value can always be looked up in :data:`FILE_FORMAT_DESCRIPTIONS` to return a human-readable description of the format found. Nrbr\/zxl/workbook.xmlrzxl/workbook.binrz content.xmlrr) PEEK_SIZEospath expanduseropenread startswith XLS_SIGNATURE ZIP_SIGNATUREzipfileZipFilerBYTES_IOnamelistreplacelower)r%contentpeekfzfnamecomponent_namess S/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/xlrd/__init__.pyinspect_formatr9&s$z "ww!!$' $  %66)$D % }% }% __g[11':4 P (*{{}6# <<c288:D@66  /  / O +&  % %6sC:?(D:DTFc t||} | r| dk7rtt| dzt||||||||||  } | S)a Open a spreadsheet file for data extraction. :param filename: The path to the spreadsheet file to be opened. :param logfile: An open file to which messages and diagnostics are written. :param verbosity: Increases the volume of trace material written to the logfile. :param use_mmap: Whether to use the mmap module is determined heuristically. Use this arg to override the result. Current heuristic: mmap is used if it exists. :param file_contents: A string or an :class:`mmap.mmap` object or some other behave-alike object. If ``file_contents`` is supplied, ``filename`` will not be used, except (possibly) in messages. :param encoding_override: Used to overcome missing or bad codepage information in older-version files. See :doc:`unicode`. :param formatting_info: The default is ``False``, which saves memory. In this case, "Blank" cells, which are those with their own formatting information but no data, are treated as empty by ignoring the file's ``BLANK`` and ``MULBLANK`` records. This cuts off any bottom or right "margin" of rows of empty or blank cells. Only :meth:`~xlrd.sheet.Sheet.cell_value` and :meth:`~xlrd.sheet.Sheet.cell_type` are available. When ``True``, formatting information will be read from the spreadsheet file. This provides all cells, including empty and blank cells. Formatting information is available for each cell. Note that this will raise a NotImplementedError when used with an xlsx file. :param on_demand: Governs whether sheets are all loaded initially or when demanded by the caller. See :doc:`on_demand`. :param ragged_rows: The default of ``False`` means all rows are padded out with empty cells so that all rows have the same size as found in :attr:`~xlrd.sheet.Sheet.ncols`. ``True`` means that there are no empty cells at the ends of rows. This can result in substantial memory savings if rows are of widely varying sizes. See also the :meth:`~xlrd.sheet.Sheet.row_len` method. :param ignore_workbook_corruption: This option allows to read corrupted workbooks. When ``False`` you may face CompDocError: Workbook corruption. When ``True`` that exception will be ignored. :returns: An instance of the :class:`~xlrd.book.Book` class. rz; not supported) filenamelogfile verbosityuse_mmap file_contentsencoding_overrideformatting_info on_demand ragged_rowsignore_workbook_corruption)r9r FILE_FORMAT_DESCRIPTIONSr) r;r<r=r>r?r@rArBrCrD file_formatbks r8 open_workbookrHTscd!=9K{e+0=>OOPP #+'#= B Icddlm}t}|j||||j|j |j d||y)a For debugging: dump an XLS file's BIFF records in char & hex. :param filename: The path to the file to be dumped. :param outfile: An open file, to which the dump is written. :param unnumbered: If true, omit offsets (for meaningful diffs). r) biff_dumpr;r<rN)biffhrKr biff2_8_loadmembase stream_len)r;outfile unnumberedrKrGs r8dumprTs<! BOOXwO9 bffbggr}}a*ErIcddlm}t}|j||||j|j |j |y)a For debugging and analysis: summarise the file's BIFF records. ie: produce a sorted file of ``(record_name, count)``. :param filename: The path to the file to be summarised. :param outfile: An open file, to which the summary is written. r)biff_count_recordsrLN)rMrVrrNrOrPrQ)r;rRrVrGs r8 count_recordsrWs8* BOOXwO9rvvrww w?rI)NN),r$pprintsysr,rrMrrrrr r r r r rbookrrrcompdocrr*formulainforrsheetrxldaterrrrEr+maxlenr#r9stdoutrHrTrWrIr8res  32/*DD  "  $    M"C $6 7 +\ ** $$("'!#-2eP::% F%(JJ @rI