Skip to main content

Patterns for reading writing spreadsheet documents

Project description

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
            }
        }
    ]
}

Project details


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

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.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page