Oven logo

Oven

Published

Given a Frictionless Table Schema, generates an Excel template with input validation

pip install tableschema-to-template

Package Downloads

Weekly DownloadsMonthly Downloads

Project URLs

Requires Python

>=3.6

tableschema-to-template

Given a Frictionless Table Schema (like this), generate an Excel template with input validation (like this).

Usage

Download a sample schema.yaml, and then:

pip install tableschema-to-template
ts2xl.py schema.yaml template.xlsx
# Open with Excel:
open template.xlsx

Or to use inside Python:

from tableschema_to_template import create_xlsx
schema = {'fields': [{
  'name': 'a_number',
  'description': 'A number!',
  'type': 'number'
}]}
create_xlsx(schema, '/tmp/template.xlsx')

Additional docs:

Features

  • Enum constraints transformed into pull-downs.
  • Field descriptions transformed into comments in header.
  • Float, integer, and boolean type validation, with range checks on numbers.

More details in the changelog.

Related work

If you want to construct Excel files programmatically, XlsxWriter is great!

For validated data entry, from the Frictionless community:

From the biomedical ontologies community:

  • CEDAR: Data entry tool based on ontologies.
  • Webulous: Google sheets plugin that adds pulldowns based on ontology terms.