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
  • pymongo: For BSON serialization (includes bson module)

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.6.tar.gz (17.0 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.6-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyexcel2bson-0.1.6.tar.gz
  • Upload date:
  • Size: 17.0 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.6.tar.gz
Algorithm Hash digest
SHA256 06b4628551e1a64d0cee294e0eabe73cc9380aa0539996051142b0fecde92470
MD5 04144e5bc927f478b2b6982dc9e6885b
BLAKE2b-256 7d6a9023512f2f63930caf22d8940e313c0e5dfa61986f96eb79164f0b8fa6c5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyexcel2bson-0.1.6-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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 66ec6791481f8088049036315876eda351d30b58ce67ce9a6a408d4fdcd2c9c6
MD5 8d3b65d68f29182829581112752b1ed3
BLAKE2b-256 06f30224537ca82b39c0d1e0ed8a21606f9cc14dfb44712a57666e27d202636d

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