Skip to main content

Groundwork patterns to read and write spreadsheet documents. Excel 2010 (xlsx, xlsm) is supported at the moment. The full documentation is available at https://groundwork-spreadsheets.readthedocs.io/

For more information regarding groundwork, see here.

ExcelValidationPattern

  • Uses the library openpyxl

  • Can read Excel 2010 files (xlsx, xlsm)

  • Configure your sheet using a json file

  • Auto detect columns by names

  • Layout can be

    • column based: headers are in a single row and data is below

    • row based: headers are in a single column and data is right of the headers

  • Define column types and verify cell values against them

    • Date

    • Enums (e.g. only the values ‘yes’ and ‘no’ are allowed)

    • Floating point numbers with optional min/max check

    • Integer numbers with optional min/max check

    • String with optional regular expression pattern check

  • Exclude data row/columns based on filter criteria

  • Output is a dictionary of the following form row or column number -> header name -> cell value

  • Extensive logging of problems

Here is how an example json config file looks like:

{
    "sheet_config": "last",
    "orientation": "column_based",
    "headers_index_config": {
        "row_index": {
            "first": 1,
            "last": "automatic"
        },
        "column_index": {
            "first": "automatic",
            "last": "severalEmptyCells:3"
        }
    },
    "data_index_config": {
        "row_index": {
            "first": 2,
            "last": "automatic"
        },
        "column_index": {
            "first": "automatic",
            "last": "automatic"
        }
    },
    "data_type_config": [
        {
            "header": "hex number",
            "fail_on_type_error": true,
            "fail_on_empty_cell": false,
            "fail_on_header_not_found": true,
            "type": {
                "base": "string",
                "pattern": "^0x[A-F0-9]{6}$"
            }
        },
        {
            "header": "int number",
            "type": {
                "base": "integer",
                "minimum": 2
            }
        }
    ]
}

Download files

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

Source Distribution

groundwork_spreadsheets-0.4.4.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

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

groundwork_spreadsheets-0.4.4-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file groundwork_spreadsheets-0.4.4.tar.gz.

File metadata

  • Download URL: groundwork_spreadsheets-0.4.4.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.6.7 Linux/4.15.0-1028-gcp

File hashes

Hashes for groundwork_spreadsheets-0.4.4.tar.gz
Algorithm Hash digest
SHA256 c81b72856f115b1a213a504ba21f69083027430d221211f019ec4978c15ace67
MD5 0fc880cc968a63d1d0963431ab05d656
BLAKE2b-256 e8ae843ec81683df122c7a2f40bd0876aad08c9fd89b5e27213d2e32d8d26ffd

See more details on using hashes here.

File details

Details for the file groundwork_spreadsheets-0.4.4-py3-none-any.whl.

File metadata

File hashes

Hashes for groundwork_spreadsheets-0.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9d1106ee48e8be4edded9003debb9ab40d5ef583919abee698cf945ac0d05e6e
MD5 a0b28ea3c419346e0d4d7b5e128d82ba
BLAKE2b-256 9bb277c3bf86cde626a92f7ddb0e13b003495cb235fb0cedce2068dd723d0966

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.4.4 This release

2 files

0.4.3

2 files

0.3.0

1 file

0.2.0

1 file

0.1.2

1 file

0.1.1

1 file

0.1.0

1 file

Supported by

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