JSON/JSONL to XLSX converter
Project description
JSON -> XLSX Converter (v2026.02.14.01)
Конвертер 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.1.tar.gz
(10.8 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.1.tar.gz.
File metadata
- Download URL: rv_converter-2026.2.14.1.tar.gz
- Upload date:
- Size: 10.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d6d1067eaa054c379333cba150fdf3286c3c6f7d04b67eb9de104dc979f78b8
|
|
| MD5 |
82ae0515b59394b4995f8bba40e3b76e
|
|
| BLAKE2b-256 |
eb2f0a1d5fd7bbb2294997e16aea37ce06d7bac3c2b13e8c1f27d1a5ad99a4c3
|
File details
Details for the file rv_converter-2026.2.14.1-py3-none-any.whl.
File metadata
- Download URL: rv_converter-2026.2.14.1-py3-none-any.whl
- Upload date:
- Size: 11.4 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 |
c9cf43ccd0689cfa57f6d2ebc771eb33444dcfd70afdc8d4f64d51cc95915f23
|
|
| MD5 |
9067bb150dc20624388033dde6a90d0b
|
|
| BLAKE2b-256 |
e8c5e390a8f1f6c274169bb248e72c95ddf67c2a958d1e2863aade9303259806
|