Skip to main content

About xlref

xlref is an useful library to capture by a simple reference (e.g., A1(RD):..:RD) a table with non-empty cells from Excel-sheets when its exact position is not known beforehand.

This code was inspired by the xleash module of the pandalone library. The reason of developing a similar tool was to have a smaller library to install and improve the performances of reading .xlsx files.

Installation

To install it use (with root privileges):

$ pip install xlref

Or download the last git version and use (with root privileges):

$ python setup.py install

Tutorial

A typical example is capturing a table with a “header” row and convert into a dictionary. The code below shows how to do it:

>>> import xlref as xl
>>> _ref = 'excel.xlsx#ref!A1(RD):RD[%s]'
>>> ref = xl.Ref(_ref % '"dict"')
>>> ref.range  # Captured range.
B2:C28
>>> values = ref.values; values  # Captured values.
{...}
>>> values['st-cell-move']
'#D5(RU):H1(DL)'

You can notice from the code above that all the values of the dictionary are references. To parse it recursively, there are two options:

  1. add the “recursive” filter before the “dict”:

    >>> values = xl.Ref(_ref % '"recursive", "dict"').values
    >>> values['st-cell-move'].tolist()
    [[1.0, 2.0, 3.0],
     [4.0, 5.0, 6.0],
     [7.0, 8.0, 9.0]]
    
  2. apply a filter onto dictionary’ values using the extra functionality of the “dict” filter:

    >>> values = xl.Ref(_ref % '{"fun": "dict", "value":"ref"}').values
    >>> values['st-cell-move'].tolist()
    [[1.0, 2.0, 3.0],
     [4.0, 5.0, 6.0],
     [7.0, 8.0, 9.0]]
    

You have also the possibility to define and use your custom filters as follows:

>>> import numpy as np
>>> xl.FILTERS['my-filter'] = lambda parent, x: np.sum(x)
>>> xl.Ref('#D5(RU):H1(DL)["my-filter"]', ref).values
45.0

An alternative way is to use directly the methods of the filtered results as follows:

>>> xl.Ref('#D5(RU):H1(DL)["sum"]', ref).values
45.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xlref-1.2.4.tar.gz (21.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xlref-1.2.4-py2.py3-none-any.whl (17.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file xlref-1.2.4.tar.gz.

File metadata

  • Download URL: xlref-1.2.4.tar.gz
  • Upload date:
  • Size: 21.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for xlref-1.2.4.tar.gz
Algorithm Hash digest
SHA256 026db7296d5e85bc0afd6bdf22273db802bab0b70cf51d0582db9ea14103cfb4
MD5 e6eecfe8cc523adde3c0dee0b95c2457
BLAKE2b-256 dc8ba50a2d9571940330a28c2d3b072a2d86e322fe76100f320d2acff079096c

See more details on using hashes here.

File details

Details for the file xlref-1.2.4-py2.py3-none-any.whl.

File metadata

  • Download URL: xlref-1.2.4-py2.py3-none-any.whl
  • Upload date:
  • Size: 17.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for xlref-1.2.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 3f23f1ce2c4e56ba66f82dd82cc6b1fc66cbb00d9bde66d29b0cd7b30936afcb
MD5 bf8194bea7d17ca8bfc5957289011b65
BLAKE2b-256 b7efd0dcd59cf38190cbd304d4fde1fa21fffa52d4a6d4946bc705a4bff08e11

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.2.4 This release

2 files

1.2.3

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page