Skip to main content

Excel 파일을 시트별 BSON 파일로 변환하는 CLI 도구

Project description

PyExcelToBSON

🇰🇷 한국어 문서

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

Requirements

  • Python >= 3.10
  • 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.1.tar.gz (16.4 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.1-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyexcel2bson-0.1.1.tar.gz
  • Upload date:
  • Size: 16.4 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.1.tar.gz
Algorithm Hash digest
SHA256 686550ea0e599244f3fb819ee79c789ff5ecd109f50a4b9a4f81fe4ee5f4dc45
MD5 56468bdf96c225b882ec20621c50d094
BLAKE2b-256 4a694e5ee03b1a553bad75380daeb81d9a390f89027d39db3f1b02c090348773

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyexcel2bson-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 7.3 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 aa70a092494646efb1544049cfaab0ead30b7c521a7642ecccddfe58e666b02f
MD5 7c9cb7bf38389a1ef4119e3ff6604b8b
BLAKE2b-256 4dc93de02e70ca57b6407cffd0fc1367d07e8b9b33df00ceeca4a798403ac99c

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