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 filespymongo: For BSON serialization (includesbsonmodule)
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
-
Sheets whose name starts with
_are skipped.- e.g.
_info
- e.g.
-
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) |
- 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
Project details
Release history Release notifications | RSS feed
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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
686550ea0e599244f3fb819ee79c789ff5ecd109f50a4b9a4f81fe4ee5f4dc45
|
|
| MD5 |
56468bdf96c225b882ec20621c50d094
|
|
| BLAKE2b-256 |
4a694e5ee03b1a553bad75380daeb81d9a390f89027d39db3f1b02c090348773
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa70a092494646efb1544049cfaab0ead30b7c521a7642ecccddfe58e666b02f
|
|
| MD5 |
7c9cb7bf38389a1ef4119e3ff6604b8b
|
|
| BLAKE2b-256 |
4dc93de02e70ca57b6407cffd0fc1367d07e8b9b33df00ceeca4a798403ac99c
|