JSON/JSONL to XLSX converter
Project description
JSON -> XLSX Converter
Конвертер JSON/JSONL файлов в Excel (XLSX).
Возможности
- Конвертация JSON и JSONL файлов в Excel
- Автоматическое разбиение больших данных на листы (лимиты Excel)
- Сортировка и фильтрация данных
- Подсчёт заполненных ячеек в каждой колонке
- Автофильтры и закреплённые заголовки
- Поддержка метаданных Excel-файла
- Локализация интерфейса (русский/английский)
- Потоковая обработка больших JSON (с
ijson)
Установка
pip install rv-converter
Установка из исходников
git clone https://github.com/ruvn-1fgas/rv-converter.git
cd rv-converter
pip install .
Или
pip install git+https://github.com/ruvn-1fgas/rv-converter.git
Для потоковой обработки больших JSON-файлов:
pip install ijson
Использование
Командная строка
rv_converter data.json # output: data.xlsx
rv_converter data.json -o output.xlsx # указать имя выходного файла
rv_converter data.json -s name # сортировка по ключу "name"
rv_converter data.json -s name -o out.xlsx # сортировка + имя файла
rv_converter data.json -j "; " # разделитель для списков
rv_converter data.json --sort-by name --output result.xlsx # полные имена
Опции:
-o,--output— имя выходного файла-s,--sort-by— ключ для сортировки-j,--join— разделитель для множественных значений-t,--type— формат файла (по умолчанию: xlsx)
Python API
from rv_converter import converter
data = [
{"name": "Alice", "age": 30},
{"name": "Bob", "age": 25},
]
# Базовое использование
converter.save_file(data, "output.xlsx")
# С сортировкой по ключу
converter.save_file(data, "output.xlsx", sort_by="name")
# С сортировкой по нескольким ключам
converter.save_file(data, "output.xlsx", sort_by=["age", "name"])
# С пользовательской сортировкой
converter.save_file(data, "output.xlsx", sort_by=lambda x: x["name"].lower())
# С фильтрацией
converter.save_file(
data,
"output.xlsx",
filter_function=lambda x: x["age"] > 25
)
# С метаданными файла
converter.save_file(
data,
"output.xlsx",
xlsx_metadata={"title": "Отчёт", "creator": "RV Converter"}
)
Загрузка данных из файла
from rv_converter import converter
from rv_converter.utils import load_data
data = load_data("input.json") # или input.jsonl
converter.save_file(data, "output.xlsx")
API
converter.save_file()
| Параметр | Тип | Описание |
|---|---|---|
data |
List[Dict] |
Список словарей для записи |
filename |
str |
Путь к выходному файлу |
sort_by |
str | List[str] | Callable |
Ключ, список ключей или функция сортировки |
filter_function |
Callable[[Dict], bool] |
Функция фильтрации |
join_multivalued |
str |
Разделитель для списков (по умолчанию: ", ") |
type |
str |
Формат файла ("xlsx") |
xlsx_metadata |
Dict[str, Any] |
Метаданные Excel (title, creator, etc.) |
Основные зависимости
| Название | Ссылка |
|---|---|
| Python >= 3.11 | Ссылка |
| openpyxl | Ссылка |
| pandas | Ссылка |
| tqdm | Ссылка |
Лицензия
MIT
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
rv_converter-2026.2.14.tar.gz
(10.7 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 rv_converter-2026.2.14.tar.gz.
File metadata
- Download URL: rv_converter-2026.2.14.tar.gz
- Upload date:
- Size: 10.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf4a27da7bb5ad57254588bb8ed25cec0c50633757bedce105db5479d8677fea
|
|
| MD5 |
b05703453e4b22bf26763be3af6256cf
|
|
| BLAKE2b-256 |
6b772adc3ed012946bcb0cbd1f0c8f2bf92ce6b3a6da12a9ca0e39818f7a3b4d
|
File details
Details for the file rv_converter-2026.2.14-py3-none-any.whl.
File metadata
- Download URL: rv_converter-2026.2.14-py3-none-any.whl
- Upload date:
- Size: 11.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
23e13d1101203ec845619e4cbec371582aa381662ec6f1f486e2d700eeb74d71
|
|
| MD5 |
c70482c72b3cac052dd09c83cf95b65b
|
|
| BLAKE2b-256 |
32157ee9dd45a4babe131e41099f7a59e41b4e7502a4b31d52837aee47c4b02b
|