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.5.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.5-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyexcel2bson-0.1.5.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.5.tar.gz
Algorithm Hash digest
SHA256 8c3199afbee0a6b74bb247ad51d6e1c4f1071e3bb8663a88c5fa78cba740d7ce
MD5 a38c3c94b8d2afdd48a5f85431848097
BLAKE2b-256 25e16fea124f5b90afbc897ef3908b8ed8f9189714a7aaa3fd14569128052617

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyexcel2bson-0.1.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 1e8c71fcf60d7975d9a84c6514bd36eb6bd50ca31ff116617ebb181927a6c1b0
MD5 f4b303de86736114d3ce1be8ef1f5ffc
BLAKE2b-256 ea6cbfb1c7db80a0618f568afe4b2960b5a21f5e97ed0fabc420763589c7bbd2

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