Skip to main content

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


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rv_converter-2026.2.14.1-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

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

Hashes for rv_converter-2026.2.14.1.tar.gz
Algorithm Hash digest
SHA256 2d6d1067eaa054c379333cba150fdf3286c3c6f7d04b67eb9de104dc979f78b8
MD5 82ae0515b59394b4995f8bba40e3b76e
BLAKE2b-256 eb2f0a1d5fd7bbb2294997e16aea37ce06d7bac3c2b13e8c1f27d1a5ad99a4c3

See more details on using hashes here.

File details

Details for the file rv_converter-2026.2.14.1-py3-none-any.whl.

File metadata

File hashes

Hashes for rv_converter-2026.2.14.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c9cf43ccd0689cfa57f6d2ebc771eb33444dcfd70afdc8d4f64d51cc95915f23
MD5 9067bb150dc20624388033dde6a90d0b
BLAKE2b-256 e8c5e390a8f1f6c274169bb248e72c95ddf67c2a958d1e2863aade9303259806

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