Skip to main content

A CLI tool that converts each sheet of an Excel (`.xlsx`) file into a BSON (Binary JSON) file.

Project description

PyExcelToBSON

🇰🇷 한국어 문서

A CLI tool that converts each sheet of an Excel (.xlsx) file into a BSON (Binary JSON) file.

Requirements

  • Python >= 3.6
  • openpyxl: For reading Excel files
  • bson: For BSON serialization

Installation

pip install pyexcel2bson

Usage

pyexcel2bson -i sample.xlsx -o ./output

Arguments

Argument Description Required
-i, --input Path to the Excel (.xlsx) file
-o, --output Path to the output directory
-s, --suffix Suffix appended to output filenames
-d, --debug Also export as JSON for debugging
-c, --clean Clean up the output directory before converting

Excel Sheet Rules

  1. Sheets whose name starts with _ are skipped.

    • e.g. _info
  2. Rows 1–5 must follow this structure:

Row Description
1 Column description
2 Column usage (reserved)
3 Column attribute
4 Column data type
5 Column name (variable name)
  1. Data cells must not be empty.

Output Format

Each sheet is exported as a .bson file with the following structure:

{
  "data": [
    { "column_name": value, ... },
    ...
  ]
}

Development

git clone https://github.com/onsemy/PyExcelToBSON.git
cd PyExcelToBSON
pip install -e ".[dev]"

Project Structure

PyExcelToBSON/
├── main.py
├── output_manager.py
├── readers/
│   ├── input_reader.py    # Abstract base class
│   └── excel_reader.py
├── writers/
│   ├── output_writer.py   # Abstract base class
│   ├── bson_writer.py
│   └── json_writer.py
└── factories/
    ├── reader_factory.py
    └── writer_factory.py

Contributing

Please open an Issue or send an email.

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

pyexcel2bson-0.1.10.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

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

pyexcel2bson-0.1.10-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file pyexcel2bson-0.1.10.tar.gz.

File metadata

  • Download URL: pyexcel2bson-0.1.10.tar.gz
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.10.0 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/1.0.0 urllib3/1.26.20 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.15

File hashes

Hashes for pyexcel2bson-0.1.10.tar.gz
Algorithm Hash digest
SHA256 a249baee0184219c85587efff2a252f7470eec03a9a9b2f8ef2b2cc9dddb34c2
MD5 bd938eca32eaf042ff018e4d6ac18e96
BLAKE2b-256 b7b72298c4854bf30b9e0ec7a89c1af2edf1ef70946bad2a67f9200ec38fb976

See more details on using hashes here.

File details

Details for the file pyexcel2bson-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: pyexcel2bson-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.10.0 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/1.0.0 urllib3/1.26.20 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.15

File hashes

Hashes for pyexcel2bson-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 a02993d59b2aeb852cc6f446c85d3992cc17d778abcb5a004930df9f73ca4ec7
MD5 875b40b91f6dad13b89661d7ee955874
BLAKE2b-256 47506fadb53e84e5e062ee2ceb718f3f294e93c303ee51c6673c9b2a3039fe84

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