License Supported versions Travis-CI Build Status Code quality PyPI Package latest release


This is a groundwork extension package for reading and writing spreadsheet files.

groundwork is a plugin based Python application framework, which can be used to create various types of applications: console scripts, desktop apps, dynamic websites and more.

Visit or read the technical documentation for more information.



Target audience are users who need to read well structured Excel documents with minimal overhead. The Excel documents can be validated in various ways to detect input data problems.

  • Uses the library openpyxl
  • Can read Excel 2010 files (xlsx, xlsm)
  • Configure your sheet using a json file
  • Auto detect columns by names. You can move columns without affecting the read routines.
  • The data layout can be
    • column based: headers are in a single row and the data is below
    • row based: headers are in a single column and the data is on the right
  • 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