Создать вложенный JSON из CSV
Я уже читаюСоздать вложенный JSON из плоского CSV, но это не такне поможет в моем случае.
У меня есть довольно большая таблица, созданная с помощью Документов Google, состоящая из 11 строк и 74 столбцов (некоторые столбцы не заняты).
Я создал пример наГугл Диск, Когда экспортируется какCSV
это выглядит так:
id,name,email,phone,picture01,picture02,picture03,status
1,Alice,[email protected],2131232,"image01_01
[this is an image]",image01_02,image01_03,single
2,Bob,[email protected],2854839,image02_01,"image02_02
[description to image 2]",,married
3,Frank,[email protected],987987,image03_01,image03_02,,single
4,Shawn,[email protected],,image04_01,,,single
Теперь я хотел бы иметьJSON
структура, которая выглядит так:
{
"persons": [
{
"type": "config.profile",
"id": "1",
"email": "[email protected]",
"pictureId": "p01",
"statusId": "s01"
},
{
"type": "config.pictures",
"id": "p01",
"album": [
{
"image": "image01_01",
"description": "this is an image"
},
{
"image": "image_01_02",
"description": ""
},
{
"image": "image_01_03",
"description": ""
}
]
},
{
"type": "config.status",
"id": "s01",
"status": "single"
},
{
"type": "config.profile",
"id": "2",
"email": "[email protected]",
"pictureId": "p02",
"statusId": "s02"
},
{
"type": "config.pictures",
"id": "p02",
"album": [
{
"image": "image02_01",
"description": ""
},
{
"image": "image_02_02",
"description": "description to image 2"
}
]
},
{
"type": "config.status",
"id": "s02",
"status": "married"
}
]
}
И так далее для других строк.
Мой теоретический подход должен был бы пройти черезCSV
файл на строку (здесь начинается первая проблема: теперь каждая строка равна одной строке, а иногда и нескольким, поэтому мне нужно посчитать запятые?). Каждый ряд равен блокуconfig.profile
, в том числе , ,id
email
pictureId
, а такжеstatusId
(последние два генерируются в зависимости от номера строки).
Тогда для каждого рядаconfig.pictures
блок генерируется с тем жеid
как тот, который вставлен вconfig.profile
блок.album
это массив из столько элементов, сколько даны изображения.
Наконец, каждый ряд имеетconfig.status
блок, который, опять же, имеет тот жеid
как тот, который дан вconfig.profile
и одна записьstatus
с соответствующим статусом.
Я совершенно не знаю, как создать вложенный и условный файл JSON.
Я просто добрался до точки, где я преобразуюCSV
к действиюJSON
без вложений и дополнительной информации, которые прямо не указаны вCSV
, словно , ,type
pictureId
statusId
, и так далее.
Любая помощь приветствуется. Если это проще запрограммировать на другом языке сценариев (например,ruby
) Я бы с удовольствием переключился на те).
Прежде чем кто-то думает, что это домашнее задание или еще много чего. Это не. Я просто хочу автоматизировать очень утомительную копию иВставить задачу.