Преобразование больших файлов JSON / JSON Lines в CSV, Excel, SQLite, Parquet или Feather¶
jsonreshape преобразует между JSON, JSON Lines и табличными форматами потоком, поэтому размер файла не ограничен вашей оперативной памятью. Экспорт выполняется примерно со скоростью 100–220 MB/s.
JSON ↔ JSON Lines¶
jsonreshape convert data.json data.jsonl # array -> one record per line
jsonreshape convert data.jsonl data.json # back to an array
JSON / JSON Lines → CSV¶
jsonreshape convert data.jsonl table.csv
jsonreshape convert data.json table.csv --columns "id,name,contact.address.city"
Вложенные поля адресуются путями с точками. Чтобы превратить вложенный массив в строки,
используйте --explode (см. Развёртывание вложенного JSON).
→ Excel (XLSX)¶
У jsonreshape есть собственный потоковый модуль записи XLSX, поэтому даже многогигабайтные файлы экспортируются, не исчерпывая память.
→ SQLite¶
Записи становятся строками в одной таблице — готовыми к запросам на SQL.
→ Parquet¶
Parquet — это столбцовый формат, используемый в инженерии данных (pandas, DuckDB, Spark).
→ Feather / Arrow IPC¶
jsonreshape convert data.json data.feather # or data.arrow: the same file
jsonreshape convert data.json data.arrow --feather-compression lz4
Feather (файловый формат Arrow IPC) загружается напрямую в pandas (pd.read_feather) и Polars
(pl.read_ipc). Столбцы и их типы — те же, что и в экспорте Parquet; сжатие — zstd (по
умолчанию), lz4 или none. Нужен тот же pip install "jsonreshape[parquet]".
В настольном приложении¶
Откройте файл, при желании сузьте его поиском / фильтром / сортировкой, затем Файл → Экспорт и выберите формат. Вы можете экспортировать весь файл или только текущее выделение.
Преобразование из CSV, YAML или XML¶
Обратное направление — это import: