Skip to main content

Extract data in JSON from any spreadsheet

Project description

EDJAS: Extract Data in JSON from Any Spreadsheet

This project is an attempt to help organisations that insist on managing their businesses, or major aspects thereof, using spreadsheets. Many articles have been written on the limitations of spreadsheet technology. If you have any doubts then look at the "The Problem with Spreadsheets" section of this LinkedIn article. Some large organisations are now providing advice — although in many cases better advice might be: stop using spreadsheets for that!

Rather than try to change the way people do business (imagine "If I Ruled the World" playing softly in the background), EDJAS is intended to help people extract that locked-up data more effectively, in simple and easy-to-understand ways that don't affect existing workflows.

It lets you add data specifications to any existing spreadsheet by creating named ranges in the spreadsheet. By default EDJAS will look for a range name Parameters as its starting point, although this can be overridden on the command line. This range should be precisely two columns wide, and EDJAS treats the left-hand column as names and the right-hand column as values. Normally, the values are used literally after extraction from the spreadsheet. Two formats for the value are given special treatment.

  • [range-name]: the named range is exported as a JSON list or, if it's two-dimensional a list of row lists.
  • {range_name}: The named range, which must be two columns wide, becomes a JSON object where the left-hand column specifies the names and the right-hand column specifies the values.

The parameter details are used to extract data from the spreadsheet, which is then sent to standard output as JSON.

Parameter specifications in EDJAS

In the example shown, the version key has a dict value, and in that dict the number key has a value of "1.0.2". The version number can therefore be referenced in the JSON output as version.number. The output from this example is shown below.

Parameter data extracted from a spreadsheet

A demonstration of the system can be found at https://github.com/holdenweb/edjas-demo.

This is particularly useful for audiences that have an interest in only a limited number of features from a possibly quite large spreadsheet. More generally, JSON is such a widely used format that spreadsheet data can be re-used in a wide range of systems as appropriate.

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

edjas-0.5.1.tar.gz (364.5 kB view details)

Uploaded Source

Built Distribution

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

edjas-0.5.1-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file edjas-0.5.1.tar.gz.

File metadata

  • Download URL: edjas-0.5.1.tar.gz
  • Upload date:
  • Size: 364.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for edjas-0.5.1.tar.gz
Algorithm Hash digest
SHA256 95a0b4c88d97a49011c198941a3ecb78d6499f4ace9172628a02bfd07929a30f
MD5 1126039ad46734267c9a60470fffbfeb
BLAKE2b-256 7d13466ff600996ebb52bbfd7a0d1d9d605abeef75bab96b2a086818f2b8a40d

See more details on using hashes here.

File details

Details for the file edjas-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: edjas-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for edjas-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5160ee0f01c9e0067daba3b5c28a6536b994f6c985266864833b6888f9a419c2
MD5 57eb196eacb675a82e9be93fad1c1965
BLAKE2b-256 75c73662082ce0e9c518d104b90800f3fa1941cfb6800bcbce81ba2d353d4267

See more details on using hashes here.

Supported by

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