Skip to main content

Generate a json file from an OpenDocument Format .ods file

Project description

odsparsator, a .ods parser.

Generate a JSON file from an OpenDocument Format .ods file.

When used as a script, odsparsator parses a .ods file and generates a JSON file using the odfdo library.

When used as a library, odsparsator parses a .ods file and returns a Python structure.

The resulting data follows the format of the reverse odsgenerator.py script, see https://github.com/jdum/odsgenerator

odsparsator is a Python3 package, using the odfdo library. Current version requires Python >= 3.9, see prior versions for older environments.

Project: https://github.com/jdum/odsparsator

Author: jerome.dumonteil@gmail.com

License: MIT

Installation

Installation from Pypi (recommended):

pip install odsparsator

Installation from sources (requiring setuptools):

pip install .

CLI usage

odsparsator [-h] [--version] [options] input_file output_file

arguments

input_file: input file, a .ods file.

output_file: output file, JSON file generated from input.

Use odsparsator --help for options:

options:
  -h, --help         show this help message and exit
  --version          show program's version number and exit
  -m, --minimal      keep only rows and cells, no styles, no formula, no column width
  -a, --all-styles   collect all styles from the input
  -c, --color        collect background color of cells
  -k, --keep-styled  keep styled cells with empty value

sample


$ odsparsator --minimal sample.ods sample_minimal.json

The result:

{
    "body": [
        {
            "name": "first tab",
            "table": [
                ["a", "b", "c"],
                [10, 20, 30]
            ]
        }
    ]
}

Without the --minimal option:

$ odsparsator sample.ods sample_with_styles.json

The result:

{
"body": [
    {
        "name": "first tab",
        "table": [
            {
                "row": [
                    {
                        "value": "a",
                        "style": "bold_center_bg_gray_grid_06pt"
                    },
                    {
                        "value": "b",
                        "style": "bold_center_bg_gray_grid_06pt"
                        ...

Usage from python code

import odsparsator

content = odsparsator.ods_to_python("sample1.ods")

Documentation

See in the ./doc folder:

html/odsparsator.html

License

This project is licensed under the MIT License (see the LICENSE file for details).

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

odsparsator-1.10.0.tar.gz (8.5 kB view hashes)

Uploaded Source

Built Distribution

odsparsator-1.10.0-py3-none-any.whl (8.6 kB view hashes)

Uploaded Python 3

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