--- /srv/rebuilderd/tmp/rebuilderdC1rU96/inputs/python-xlrd-docs_2.0.1-2_all.deb +++ /srv/rebuilderd/tmp/rebuilderdC1rU96/out/python-xlrd-docs_2.0.1-2_all.deb ├── file list │ @@ -1,3 +1,3 @@ │ -rw-r--r-- 0 0 0 4 2023-11-30 13:15:46.000000 debian-binary │ --rw-r--r-- 0 0 0 1752 2023-11-30 13:15:46.000000 control.tar.xz │ --rw-r--r-- 0 0 0 77984 2023-11-30 13:15:46.000000 data.tar.xz │ +-rw-r--r-- 0 0 0 1748 2023-11-30 13:15:46.000000 control.tar.xz │ +-rw-r--r-- 0 0 0 77848 2023-11-30 13:15:46.000000 data.tar.xz ├── control.tar.xz │ ├── control.tar │ │ ├── ./control │ │ │ @@ -1,13 +1,13 @@ │ │ │ Package: python-xlrd-docs │ │ │ Source: python-xlrd │ │ │ Version: 2.0.1-2 │ │ │ Architecture: all │ │ │ Maintainer: Debian Python Team │ │ │ -Installed-Size: 572 │ │ │ +Installed-Size: 568 │ │ │ Depends: libjs-sphinxdoc (>= 7.2.2) │ │ │ Breaks: python-xlrd (<< 1.1.0-1) │ │ │ Replaces: python-xlrd (<< 1.1.0-1) │ │ │ Section: doc │ │ │ Priority: optional │ │ │ Multi-Arch: foreign │ │ │ Homepage: https://www.python-excel.org/ │ │ ├── ./md5sums │ │ │ ├── ./md5sums │ │ │ │┄ Files differ ├── data.tar.xz │ ├── data.tar │ │ ├── file list │ │ │ @@ -20,32 +20,32 @@ │ │ │ -rw-r--r-- 0 root (0) root (0) 4302 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/_static/classic.css │ │ │ -rw-r--r-- 0 root (0) root (0) 328 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/_static/documentation_options.js │ │ │ -rw-r--r-- 0 root (0) root (0) 286 2023-11-05 12:54:03.000000 ./usr/share/doc/python-xlrd-docs/_static/file.png │ │ │ -rw-r--r-- 0 root (0) root (0) 90 2023-11-05 12:54:03.000000 ./usr/share/doc/python-xlrd-docs/_static/minus.png │ │ │ -rw-r--r-- 0 root (0) root (0) 90 2023-11-05 12:54:03.000000 ./usr/share/doc/python-xlrd-docs/_static/plus.png │ │ │ -rw-r--r-- 0 root (0) root (0) 4846 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/_static/pygments.css │ │ │ -rw-r--r-- 0 root (0) root (0) 6754 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/acknowledgements.html │ │ │ --rw-r--r-- 0 root (0) root (0) 260603 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/api.html │ │ │ +-rw-r--r-- 0 root (0) root (0) 259007 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/api.html │ │ │ -rw-r--r-- 0 root (0) root (0) 1639 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/changelog.Debian.gz │ │ │ -rw-r--r-- 0 root (0) root (0) 7897 2020-12-11 10:12:16.000000 ./usr/share/doc/python-xlrd-docs/changelog.gz │ │ │ --rw-r--r-- 0 root (0) root (0) 37627 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/changes.html │ │ │ +-rw-r--r-- 0 root (0) root (0) 37500 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/changes.html │ │ │ -rw-r--r-- 0 root (0) root (0) 3501 2020-10-28 16:10:17.000000 ./usr/share/doc/python-xlrd-docs/copyright │ │ │ --rw-r--r-- 0 root (0) root (0) 12316 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/dates.html │ │ │ +-rw-r--r-- 0 root (0) root (0) 12187 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/dates.html │ │ │ -rw-r--r-- 0 root (0) root (0) 7993 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/development.html │ │ │ -rw-r--r-- 0 root (0) root (0) 13409 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/formatting.html │ │ │ -rw-r--r-- 0 root (0) root (0) 35676 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/genindex.html │ │ │ -rw-r--r-- 0 root (0) root (0) 10548 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/index.html │ │ │ -rw-r--r-- 0 root (0) root (0) 7916 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/licenses.html │ │ │ -rw-r--r-- 0 root (0) root (0) 2206 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/objects.inv │ │ │ --rw-r--r-- 0 root (0) root (0) 11386 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/on_demand.html │ │ │ +-rw-r--r-- 0 root (0) root (0) 11025 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/on_demand.html │ │ │ -rw-r--r-- 0 root (0) root (0) 4996 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/py-modindex.html │ │ │ -rw-r--r-- 0 root (0) root (0) 8885 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/references.html │ │ │ -rw-r--r-- 0 root (0) root (0) 3378 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/search.html │ │ │ -rw-r--r-- 0 root (0) root (0) 62838 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/searchindex.js │ │ │ --rw-r--r-- 0 root (0) root (0) 7096 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/unicode.html │ │ │ +-rw-r--r-- 0 root (0) root (0) 6960 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/unicode.html │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2023-11-30 13:15:46.000000 ./usr/share/doc-base/ │ │ │ -rw-r--r-- 0 root (0) root (0) 277 2020-10-28 16:10:17.000000 ./usr/share/doc-base/python-xlrd-docs.python-xlrd │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/_static/doctools.js -> ../../../javascript/sphinxdoc/1.0/doctools.js │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/_static/language_data.js -> ../../../javascript/sphinxdoc/1.0/language_data.js │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/_static/searchtools.js -> ../../../javascript/sphinxdoc/1.0/searchtools.js │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/_static/sidebar.js -> ../../../javascript/sphinxdoc/1.0/sidebar.js │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2023-11-30 13:15:46.000000 ./usr/share/doc/python-xlrd-docs/_static/sphinx_highlight.js -> ../../../javascript/sphinxdoc/1.0/sphinx_highlight.js │ │ ├── ./usr/share/doc/python-xlrd-docs/api.html │ │ │ @@ -52,27 +52,27 @@ │ │ │ xlrd.FILE_FORMAT_DESCRIPTIONS = {'ods': 'Openoffice.org ODS file', 'xls': 'Excel xls', 'xlsb': 'Excel 2007 xlsb file', 'xlsx': 'Excel xlsx file', 'zip': 'Unknown ZIP file', None: 'Unknown file type'} │ │ │

descriptions of the file types xlrd can inspect.

│ │ │
│ │ │ │ │ │
│ │ │
│ │ │ xlrd.inspect_format(path=None, content=None)
│ │ │ -

Inspect the content at the supplied path or the bytes content provided │ │ │ -and return the file’s type as a str, or None if it cannot │ │ │ +

Inspect the content at the supplied path or the bytes content provided │ │ │ +and return the file’s type as a str, or None if it cannot │ │ │ be determined.

│ │ │
│ │ │
Parameters:
│ │ │
    │ │ │ -
  • path – A string path containing the content to inspect. │ │ │ +

  • path – A string path containing the content to inspect. │ │ │ ~ will be expanded.

  • │ │ │ -
  • content – The bytes content to inspect.

  • │ │ │ +
  • content – The bytes content to inspect.

  • │ │ │
│ │ │
│ │ │
Returns:
│ │ │ -

A str, or None if the format cannot be determined. │ │ │ +

A str, or None if the format cannot be determined. │ │ │ The return value can always be looked up in FILE_FORMAT_DESCRIPTIONS │ │ │ to return a human-readable description of the format found.

│ │ │
│ │ │
│ │ │
│ │ │ │ │ │
│ │ │ @@ -86,15 +86,15 @@ │ │ │
  • logfile – An open file to which messages and diagnostics are written.

  • │ │ │
  • verbosity – Increases the volume of trace material written to the │ │ │ logfile.

  • │ │ │
  • 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.

    │ │ │

  • │ │ │ -
  • file_contents – A string or an mmap.mmap object or some other behave-alike │ │ │ +

  • file_contents – A string or an mmap.mmap object or some other behave-alike │ │ │ object. If file_contents is supplied, filename will not be used, │ │ │ except (possibly) in messages.

  • │ │ │
  • encoding_override – Used to overcome missing or bad codepage information │ │ │ in older-version files. See Handling of Unicode.

  • │ │ │
  • 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 │ │ │ @@ -545,15 +545,15 @@ │ │ │

  • │ │ │ │ │ │
    │ │ │
    │ │ │ release_resources()
    │ │ │

    This method has a dual purpose. You can call it to release │ │ │ memory-consuming objects and (possibly) a memory-mapped file │ │ │ -(mmap.mmap object) when you have finished loading sheets in │ │ │ +(mmap.mmap object) when you have finished loading sheets in │ │ │ on_demand mode, but still require the Book object to │ │ │ examine the loaded sheets. It is also called automatically (a) when │ │ │ open_workbook() │ │ │ raises an exception and (b) if you are using a with statement, when │ │ │ the with block is exited. Calling this method multiple times on the │ │ │ same object has no ill effect.

    │ │ │
    │ │ │ @@ -703,15 +703,15 @@ │ │ │ │ │ │
    │ │ │
    │ │ │ class xlrd.compdoc.CompDoc(mem, logfile=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>, DEBUG=0, ignore_workbook_corruption=False)
    │ │ │

    Compound document handler.

    │ │ │
    │ │ │
    Parameters:
    │ │ │ -

    mem – The raw contents of the file, as a string, or as an mmap.mmap │ │ │ +

    mem – The raw contents of the file, as a string, or as an mmap.mmap │ │ │ object. The only operation it needs to support is slicing.

    │ │ │
    │ │ │
    │ │ │
    │ │ │
    │ │ │ get_named_stream(qname)
    │ │ │

    Interrogate the compound document’s directory; return the stream as a │ │ │ @@ -1387,15 +1387,15 @@ │ │ │

    where 0 <= thingxlo <= thingx < thingxhi.

    │ │ │
    │ │ │

    Note

    │ │ │

    It is quite possible to have thingx > nthings; for example │ │ │ Print_Titles could have colxhi == 256 and/or rowxhi == 65536 │ │ │ irrespective of how many columns/rows are actually used in the worksheet. │ │ │ The caller will need to decide how to handle this situation. │ │ │ -Keyword: IndexError :-)

    │ │ │ +Keyword: IndexError :-)

    │ │ │
    │ │ │

    The components of the coords attribute are also available as individual │ │ │ attributes: shtxlo, shtxhi, rowxlo, rowxhi, colxlo, and │ │ │ colxhi.

    │ │ │

    The relflags attribute is a 6-tuple of flags which indicate whether │ │ │ the corresponding (sheet|row|col)(lo|hi) is relative (1) or absolute (0).

    │ │ │
    │ │ │ @@ -2005,15 +2005,15 @@ │ │ │ │ │ │
    │ │ │
    │ │ │ url_or_path = None
    │ │ │

    The URL or file-path, depending in the type. Unicode string, except │ │ │ in the rare case of a local but non-existent file with non-ASCII │ │ │ characters in the name, in which case only the “8.3” filename is │ │ │ -available, as a bytes (3.x) or str (2.x) string, │ │ │ +available, as a bytes (3.x) or str (2.x) string, │ │ │ with unknown encoding.

    │ │ │
    │ │ │ │ │ │
    │ │ │
    │ │ │ desc = None
    │ │ │

    Description. │ │ │ @@ -2362,24 +2362,24 @@ │ │ │ system; its “serial number” is zero.

    │ │ │
    │ │ │
    │ │ │ │ │ │
    │ │ │
    │ │ │ xlrd.xldate.xldate_as_datetime(xldate, datemode)
    │ │ │ -

    Convert an Excel date/time number into a datetime.datetime object.

    │ │ │ +

    Convert an Excel date/time number into a datetime.datetime object.

    │ │ │
    │ │ │
    Parameters:
    │ │ │
      │ │ │
    • xldate – The Excel number

    • │ │ │
    • datemode – 0: 1900-based, 1: 1904-based.

    • │ │ │
    │ │ │
    │ │ │
    Returns:
    │ │ │ -

    A datetime.datetime object.

    │ │ │ +

    A datetime.datetime object.

    │ │ │
    │ │ │
    │ │ │
    │ │ │ │ │ │
    │ │ │
    │ │ │ xlrd.xldate.xldate_from_date_tuple(date_tuple, datemode)
    │ │ │ ├── html2text {} │ │ │ │ @@ -8,22 +8,22 @@ │ │ │ │ ************ AAPPII RReeffeerreennccee_?¶ ************ │ │ │ │ ********** xxllrrdd_?¶ ********** │ │ │ │ xlrd.FILE_FORMAT_DESCRIPTIONS == {{''ooddss'':: ''OOppeennooffffiiccee..oorrgg OODDSS ffiillee'',, ''xxllss'':: │ │ │ │ ''EExxcceell xxllss'',, ''xxllssbb'':: ''EExxcceell 22000077 xxllssbb ffiillee'',, ''xxllssxx'':: ''EExxcceell xxllssxx ffiillee'',, │ │ │ │ ''zziipp'':: ''UUnnkknnoowwnn ZZIIPP ffiillee'',, NNoonnee:: ''UUnnkknnoowwnn ffiillee ttyyppee''}}_¶ │ │ │ │ descriptions of the file types _x_l_r_d can _i_n_s_p_e_c_t. │ │ │ │ xlrd.inspect_format(ppaatthh==NNoonnee, ccoonntteenntt==NNoonnee)_¶ │ │ │ │ - Inspect the content at the supplied path or the _b_y_t_e_s content provided │ │ │ │ - and return the file’s type as a _s_t_r, or None if it cannot be determined. │ │ │ │ + Inspect the content at the supplied path or the bytes content provided │ │ │ │ + and return the file’s type as a str, or None if it cannot be determined. │ │ │ │ Parameters: │ │ │ │ - * ppaatthh – A _s_t_r_i_n_g path containing the content to inspect. ~ │ │ │ │ + * ppaatthh – A string path containing the content to inspect. ~ │ │ │ │ will be expanded. │ │ │ │ - * ccoonntteenntt – The _b_y_t_e_s content to inspect. │ │ │ │ + * ccoonntteenntt – The bytes content to inspect. │ │ │ │ Returns: │ │ │ │ - A _s_t_r, or None if the format cannot be determined. The return value │ │ │ │ + A str, or None if the format cannot be determined. The return value │ │ │ │ can always be looked up in _F_I_L_E___F_O_R_M_A_T___D_E_S_C_R_I_P_T_I_O_N_S to return a │ │ │ │ human-readable description of the format found. │ │ │ │ xlrd.open_workbook(ffiilleennaammee==NNoonnee, llooggffiillee==<<__iioo..TTeexxttIIOOWWrraappppeerr nnaammee==''<>'' │ │ │ │ mmooddee==''ww'' eennccooddiinngg==''uuttff--88''>>, vveerrbboossiittyy==00, uussee__mmmmaapp==TTrruuee, ffiillee__ccoonntteennttss==NNoonnee, │ │ │ │ eennccooddiinngg__oovveerrrriiddee==NNoonnee, ffoorrmmaattttiinngg__iinnffoo==FFaallssee, oonn__ddeemmaanndd==FFaallssee, │ │ │ │ rraaggggeedd__rroowwss==FFaallssee, iiggnnoorree__wwoorrkkbbooookk__ccoorrrruuppttiioonn==FFaallssee)_¶ │ │ │ │ Open a spreadsheet file for data extraction. │ │ │ │ @@ -214,15 +214,15 @@ │ │ │ │ New in version 0.7.1. │ │ │ │ unload_sheet(sshheeeett__nnaammee__oorr__iinnddeexx)_¶ │ │ │ │ Parameters: │ │ │ │ sshheeeett__nnaammee__oorr__iinnddeexx – Name or index of sheet to be unloaded. │ │ │ │ New in version 0.7.1. │ │ │ │ release_resources()_¶ │ │ │ │ This method has a dual purpose. You can call it to release memory- │ │ │ │ - consuming objects and (possibly) a memory-mapped file (_m_m_a_p_._m_m_a_p │ │ │ │ + consuming objects and (possibly) a memory-mapped file (mmap.mmap │ │ │ │ object) when you have finished loading sheets in on_demand mode, │ │ │ │ but still require the _B_o_o_k object to examine the loaded sheets. It │ │ │ │ is also called automatically (a) when _o_p_e_n___w_o_r_k_b_o_o_k_(_) raises an │ │ │ │ exception and (b) if you are using a with statement, when the with │ │ │ │ block is exited. Calling this method multiple times on the same │ │ │ │ object has no ill effect. │ │ │ │ name_and_scope_map == {{}}_¶ │ │ │ │ @@ -291,15 +291,15 @@ │ │ │ │ xlrd.compdoc.SIGNATURE == bb''\\xxdd00\\xxccff\\xx1111\\xxee00\\xxaa11\\xxbb11\\xx11aa\\xxee11''_¶ │ │ │ │ Magic cookie that should appear in the first 8 bytes of the file. │ │ │ │ eexxcceeppttiioonn xlrd.compdoc.CompDocError_¶ │ │ │ │ ccllaassss xlrd.compdoc.CompDoc(mmeemm, llooggffiillee==<<__iioo..TTeexxttIIOOWWrraappppeerr nnaammee==''<>'' │ │ │ │ mmooddee==''ww'' eennccooddiinngg==''uuttff--88''>>, DDEEBBUUGG==00, iiggnnoorree__wwoorrkkbbooookk__ccoorrrruuppttiioonn==FFaallssee)_¶ │ │ │ │ Compound document handler. │ │ │ │ Parameters: │ │ │ │ - mmeemm – The raw contents of the file, as a string, or as an _m_m_a_p_._m_m_a_p │ │ │ │ + mmeemm – The raw contents of the file, as a string, or as an mmap.mmap │ │ │ │ object. The only operation it needs to support is slicing. │ │ │ │ get_named_stream(qqnnaammee)_¶ │ │ │ │ Interrogate the compound document’s directory; return the stream as │ │ │ │ a string if found, otherwise return None. │ │ │ │ Parameters: │ │ │ │ qqnnaammee – Name of the desired stream e.g. 'Workbook'. Should be │ │ │ │ in Unicode or convertible thereto. │ │ │ │ @@ -599,15 +599,15 @@ │ │ │ │ The coords attribute is a tuple of the form: │ │ │ │ (shtxlo, shtxhi, rowxlo, rowxhi, colxlo, colxhi) │ │ │ │ where 0 <= thingxlo <= thingx < thingxhi. │ │ │ │ Note │ │ │ │ It is quite possible to have thingx > nthings; for example Print_Titles │ │ │ │ could have colxhi == 256 and/or rowxhi == 65536 irrespective of how many │ │ │ │ columns/rows are actually used in the worksheet. The caller will need to │ │ │ │ - decide how to handle this situation. Keyword: _I_n_d_e_x_E_r_r_o_r :-) │ │ │ │ + decide how to handle this situation. Keyword: IndexError :-) │ │ │ │ The components of the coords attribute are also available as individual │ │ │ │ attributes: shtxlo, shtxhi, rowxlo, rowxhi, colxlo, and colxhi. │ │ │ │ The relflags attribute is a 6-tuple of flags which indicate whether the │ │ │ │ corresponding (sheet|row|col)(lo|hi) is relative (1) or absolute (0). │ │ │ │ Note │ │ │ │ There is necessarily no information available as to what cell(s) the │ │ │ │ reference could possibly be relative to. The caller must decide what if │ │ │ │ @@ -880,15 +880,15 @@ │ │ │ │ type == NNoonnee_¶ │ │ │ │ Type of hyperlink. Unicode string, one of ‘url’, ‘unc’, ‘local │ │ │ │ file’, ‘workbook’, ‘unknown’ │ │ │ │ url_or_path == NNoonnee_¶ │ │ │ │ The URL or file-path, depending in the type. Unicode string, except │ │ │ │ in the rare case of a local but non-existent file with non-ASCII │ │ │ │ characters in the name, in which case only the “8.3” filename is │ │ │ │ - available, as a _b_y_t_e_s (3.x) or _s_t_r (2.x) string, wwiitthh uunnkknnoowwnn │ │ │ │ + available, as a bytes (3.x) or str (2.x) string, wwiitthh uunnkknnoowwnn │ │ │ │ eennccooddiinngg.. │ │ │ │ desc == NNoonnee_¶ │ │ │ │ Description. This is displayed in the cell, and should be identical │ │ │ │ to the cell value. Unicode string, or None. It seems impossible NOT │ │ │ │ to have a description created by the Excel UI. │ │ │ │ target == NNoonnee_¶ │ │ │ │ Target frame. Unicode string. │ │ │ │ @@ -1043,20 +1043,20 @@ │ │ │ │ Special case │ │ │ │ If 0.0 <= xldate < 1.0, it is assumed to represent a time; (0, 0, 0, │ │ │ │ hour, minute, second) will be returned. │ │ │ │ Note │ │ │ │ 1904-01-01 is not regarded as a valid date in the datemode==1 system; its │ │ │ │ “serial number” is zero. │ │ │ │ xlrd.xldate.xldate_as_datetime(xxllddaattee, ddaatteemmooddee)_¶ │ │ │ │ - Convert an Excel date/time number into a _d_a_t_e_t_i_m_e_._d_a_t_e_t_i_m_e object. │ │ │ │ + Convert an Excel date/time number into a datetime.datetime object. │ │ │ │ Parameters: │ │ │ │ * xxllddaattee – The Excel number │ │ │ │ * ddaatteemmooddee – 0: 1900-based, 1: 1904-based. │ │ │ │ Returns: │ │ │ │ - A _d_a_t_e_t_i_m_e_._d_a_t_e_t_i_m_e object. │ │ │ │ + A datetime.datetime object. │ │ │ │ xlrd.xldate.xldate_from_date_tuple(ddaattee__ttuuppllee, ddaatteemmooddee)_¶ │ │ │ │ Convert a date tuple (year, month, day) to an Excel date. │ │ │ │ Parameters: │ │ │ │ * yyeeaarr – Gregorian year. │ │ │ │ * mmoonntthh – 1 <= month <= 12 │ │ │ │ * ddaayy – 1 <= day <= last day of that (year, month) │ │ │ │ * ddaatteemmooddee – 0: 1900-based, 1: 1904-based. │ │ ├── ./usr/share/doc/python-xlrd-docs/changes.html │ │ │ @@ -96,15 +96,15 @@ │ │ │
  • Fix for “invalid literal for int() with base 10: ‘true’” when reading some │ │ │ xlsx files.

  • │ │ │
  • Make xldate_as_datetime available to import direct from xlrd.

  • │ │ │
  • Build universal wheels.

  • │ │ │
  • Sphinx documentation.

  • │ │ │
  • Document the problem with XML vulnerabilities in xlsx files and mitigation │ │ │ measures.

  • │ │ │ -
  • Fix NameError on has_defaults is not defined.

  • │ │ │ +
  • Fix NameError on has_defaults is not defined.

  • │ │ │
  • Some whitespace and code style tweaks.

  • │ │ │
  • Make example in README compatible with both Python 2 and 3.

  • │ │ │
  • Add default value for cells containing errors that causeed parsing of some │ │ │ xlsx files to fail.

  • │ │ │
  • Add Python 3.6 to the list of supported Python versions, drop 3.3 and 2.6.

  • │ │ │
  • Use generator expressions to avoid unnecessary lists in memory.

  • │ │ │
  • Document unicode encoding used in Excel files from Excel 97 onwards.

  • │ │ │ ├── html2text {} │ │ │ │ @@ -41,15 +41,15 @@ │ │ │ │ * Fix for “invalid literal for int() with base 10: ‘true’” when reading │ │ │ │ some xlsx files. │ │ │ │ * Make xldate_as_datetime available to import direct from xlrd. │ │ │ │ * Build universal wheels. │ │ │ │ * Sphinx documentation. │ │ │ │ * Document the problem with XML vulnerabilities in xlsx files and │ │ │ │ mitigation measures. │ │ │ │ - * Fix _N_a_m_e_E_r_r_o_r on has_defaults is not defined. │ │ │ │ + * Fix NameError on has_defaults is not defined. │ │ │ │ * Some whitespace and code style tweaks. │ │ │ │ * Make example in README compatible with both Python 2 and 3. │ │ │ │ * Add default value for cells containing errors that causeed parsing of │ │ │ │ some xlsx files to fail. │ │ │ │ * Add Python 3.6 to the list of supported Python versions, drop 3.3 and │ │ │ │ 2.6. │ │ │ │ * Use generator expressions to avoid unnecessary lists in memory. │ │ ├── ./usr/share/doc/python-xlrd-docs/dates.html │ │ │ @@ -95,15 +95,15 @@ │ │ │ │ │ │
  • The Macintosh-default 1904-based date system counts 1904-01-02 as day 1 │ │ │ and 1904-01-01 as day zero. Thus any number such that │ │ │ (0.0 <= number < 1.0) is ambiguous. Is 0.625 a time of day │ │ │ (15:00:00), independent of the calendar, or should it be interpreted as │ │ │ an instant on a particular day (1904-01-01T15:00:00)?

    │ │ │

    The functions in xldate take the view that such a number is a │ │ │ -calendar-independent time of day (like Python’s datetime.time type) │ │ │ +calendar-independent time of day (like Python’s datetime.time type) │ │ │ for both date systems. This is consistent with more recent Microsoft │ │ │ documentation. For example, the help file for Excel 2002, which says that the │ │ │ first day in the 1904 date system is 1904-01-02.

    │ │ │
  • │ │ │
  • Usage of the Excel DATE() function may leave strange dates in a │ │ │ spreadsheet. Quoting the help file in respect of the 1900 date system:

    │ │ │
    If year is between 0 (zero) and 1899 (inclusive),
    │ │ │ ├── html2text {}
    │ │ │ │ @@ -47,15 +47,15 @@
    │ │ │ │        _i_n_c_o_r_r_e_c_t_l_y_-_a_s_s_u_m_e_s_-_t_h_a_t_-_t_h_e_-_y_e_a_r_-_1_9_0_0_-_i_s_-_a_-_l_e_a_p_-_y_e_a_r
    │ │ │ │     4. The Macintosh-default 1904-based date system counts 1904-01-02 as day 1
    │ │ │ │        and 1904-01-01 as day zero. Thus any number such that (0.0 <= number <
    │ │ │ │        1.0) is ambiguous. Is 0.625 a time of day (15:00:00), independent of the
    │ │ │ │        calendar, or should it be interpreted as an instant on a particular day
    │ │ │ │        (1904-01-01T15:00:00)?
    │ │ │ │        The functions in _x_l_d_a_t_e take the view that such a number is a calendar-
    │ │ │ │ -      independent time of day (like Python’s _d_a_t_e_t_i_m_e_._t_i_m_e type) for both date
    │ │ │ │ +      independent time of day (like Python’s datetime.time type) for both date
    │ │ │ │        systems. This is consistent with more recent Microsoft documentation. For
    │ │ │ │        example, the help file for Excel 2002, which says that the first day in
    │ │ │ │        the 1904 date system is 1904-01-02.
    │ │ │ │     5. Usage of the Excel DATE() function may leave strange dates in a
    │ │ │ │        spreadsheet. Quoting the help file in respect of the 1900 date system:
    │ │ │ │        If year is between 0 (zero) and 1899 (inclusive),
    │ │ │ │        Excel adds that value to 1900 to calculate the year.
    │ │ ├── ./usr/share/doc/python-xlrd-docs/on_demand.html
    │ │ │ @@ -48,15 +48,15 @@
    │ │ │  

    This feature, new in version 0.7.1, is governed by the on_demand argument │ │ │ to the open_workbook() function and allows saving memory and time by │ │ │ loading only those sheets that the caller is interested in, and releasing sheets │ │ │ when no longer required.

    │ │ │
    │ │ │
    on_demand=False (default):

    No change. open_workbook() loads global data │ │ │ and all sheets, releases resources no longer required (principally the │ │ │ -str or mmap.mmap object containing the Workbook stream), │ │ │ +str or mmap.mmap object containing the Workbook stream), │ │ │ and returns.

    │ │ │
    │ │ │
    on_demand=True and BIFF version < 5.0:

    A warning message is emitted, │ │ │ on_demand is recorded as False, and the old process is followed.

    │ │ │
    │ │ │
    on_demand=True and BIFF version >= 5.0:

    open_workbook() loads global │ │ │ data and returns without releasing resources. At this stage, the only │ │ │ @@ -78,15 +78,15 @@ │ │ │

    The caller may query the state of a sheet using Book.sheet_loaded().

    │ │ │

    Book.release_resources() may used to save memory and close │ │ │ any memory-mapped file before proceeding to examine already-loaded │ │ │ sheets. Once resources are released, no further sheets can be loaded.

    │ │ │

    When using on-demand, it is advisable to ensure that │ │ │ Book.release_resources() is always called, even if an exception │ │ │ is raised in your own code; otherwise if the input file has been │ │ │ -memory-mapped, the mmap.mmap object will not be closed and you will │ │ │ +memory-mapped, the mmap.mmap object will not be closed and you will │ │ │ not be able to access the physical file until your Python process │ │ │ terminates. This can be done by calling Book.release_resources() │ │ │ explicitly in the finally part of a try/finally block.

    │ │ │

    The Book object is also a context manager, so you can wrap your code in a │ │ │ with statement that will make sure underlying resources are closed.

    │ │ │ │ │ │ ├── html2text {} │ │ │ │ @@ -8,15 +8,15 @@ │ │ │ │ ************ LLooaaddiinngg wwoorrkksshheeeettss oonn ddeemmaanndd_?¶ ************ │ │ │ │ This feature, new in version 0.7.1, is governed by the on_demand argument to │ │ │ │ the _o_p_e_n___w_o_r_k_b_o_o_k_(_) function and allows saving memory and time by loading only │ │ │ │ those sheets that the caller is interested in, and releasing sheets when no │ │ │ │ longer required. │ │ │ │ on_demand=False (default): │ │ │ │ No change. _o_p_e_n___w_o_r_k_b_o_o_k_(_) loads global data and all sheets, releases │ │ │ │ - resources no longer required (principally the _s_t_r or _m_m_a_p_._m_m_a_p object │ │ │ │ + resources no longer required (principally the str or mmap.mmap object │ │ │ │ containing the Workbook stream), and returns. │ │ │ │ on_demand=True and BIFF version < 5.0: │ │ │ │ A warning message is emitted, on_demand is recorded as False, and the old │ │ │ │ process is followed. │ │ │ │ on_demand=True and BIFF version >= 5.0: │ │ │ │ _o_p_e_n___w_o_r_k_b_o_o_k_(_) loads global data and returns without releasing │ │ │ │ resources. At this stage, the only information available about sheets is │ │ │ │ @@ -32,15 +32,15 @@ │ │ │ │ only case where an exception will be raised. │ │ │ │ The caller may query the state of a sheet using _B_o_o_k_._s_h_e_e_t___l_o_a_d_e_d_(_). │ │ │ │ _B_o_o_k_._r_e_l_e_a_s_e___r_e_s_o_u_r_c_e_s_(_) may used to save memory and close any memory-mapped │ │ │ │ file before proceeding to examine already-loaded sheets. Once resources are │ │ │ │ released, no further sheets can be loaded. │ │ │ │ When using on-demand, it is advisable to ensure that _B_o_o_k_._r_e_l_e_a_s_e___r_e_s_o_u_r_c_e_s_(_) │ │ │ │ is always called, even if an exception is raised in your own code; otherwise if │ │ │ │ -the input file has been memory-mapped, the _m_m_a_p_._m_m_a_p object will not be closed │ │ │ │ +the input file has been memory-mapped, the mmap.mmap object will not be closed │ │ │ │ and you will not be able to access the physical file until your Python process │ │ │ │ terminates. This can be done by calling _B_o_o_k_._r_e_l_e_a_s_e___r_e_s_o_u_r_c_e_s_(_) explicitly in │ │ │ │ the finally part of a try/finally block. │ │ │ │ The Book object is also a context manager, so you can wrap your code in a with │ │ │ │ statement that will make sure underlying resources are closed. │ │ │ │ ****** PPrreevviioouuss ttooppiicc ****** │ │ │ │ _F_o_r_m_a_t_t_i_n_g_ _i_n_f_o_r_m_a_t_i_o_n_ _i_n_ _E_x_c_e_l_ _S_p_r_e_a_d_s_h_e_e_t_s │ │ ├── ./usr/share/doc/python-xlrd-docs/unicode.html │ │ │ @@ -51,15 +51,15 @@ │ │ │ Older files (Excel 95 and earlier) don’t keep strings in Unicode; │ │ │ a CODEPAGE record provides a codepage number (for example, 1252) which is │ │ │ used by xlrd to derive the encoding (for same example: “cp1252”) which is │ │ │ used to translate to Unicode.

    │ │ │

    If the CODEPAGE record is missing (possible if the file was created │ │ │ by third-party software), xlrd will assume that the encoding is ascii, │ │ │ and keep going. If the actual encoding is not ascii, a │ │ │ -UnicodeDecodeError exception will be raised and │ │ │ +UnicodeDecodeError exception will be raised and │ │ │ you will need to determine the encoding yourself, and tell xlrd:

    │ │ │
    book = xlrd.open_workbook(..., encoding_override="cp1252")
    │ │ │  
    │ │ │
    │ │ │

    If the CODEPAGE record exists but is wrong (for example, the codepage │ │ │ number is 1251, but the strings are actually encoded in koi8_r), │ │ │ it can be overridden using the same mechanism.

    │ │ │ ├── html2text {} │ │ │ │ @@ -10,15 +10,15 @@ │ │ │ │ onwards, text in Excel spreadsheets has been stored as _U_T_F_-_1_6_L_E (a 16-bit │ │ │ │ Unicode Transformation Format). Older files (Excel 95 and earlier) don’t keep │ │ │ │ strings in Unicode; a CODEPAGE record provides a codepage number (for example, │ │ │ │ 1252) which is used by xlrd to derive the encoding (for same example: “cp1252”) │ │ │ │ which is used to translate to Unicode. │ │ │ │ If the CODEPAGE record is missing (possible if the file was created by third- │ │ │ │ party software), xlrd will assume that the encoding is ascii, and keep going. │ │ │ │ -If the actual encoding is not ascii, a _U_n_i_c_o_d_e_D_e_c_o_d_e_E_r_r_o_r exception will be │ │ │ │ +If the actual encoding is not ascii, a UnicodeDecodeError exception will be │ │ │ │ raised and you will need to determine the encoding yourself, and tell xlrd: │ │ │ │ book = xlrd.open_workbook(..., encoding_override="cp1252") │ │ │ │ If the CODEPAGE record exists but is wrong (for example, the codepage number is │ │ │ │ 1251, but the strings are actually encoded in koi8_r), it can be overridden │ │ │ │ using the same mechanism. │ │ │ │ The supplied runxlrd.py has a corresponding command-line argument, which may be │ │ │ │ used for experimentation: