Utwórz zagnieżdżony JSON z CSV

Już czytałemUtwórz zagnieżdżony JSON z płaskiego csv, ale to nie pomogło w moim przypadku.

Mam dość duży arkusz kalkulacyjny utworzony za pomocą Dokumentów Google składający się z 11 wierszy i 74 kolumn (niektóre kolumny nie są zajęte).

Stworzyłem przykładdysk Google. Po wyeksportowaniu jakoCSV To wygląda tak:

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

Teraz chciałbym miećJSON struktura, która wygląda tak:

{
    "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"
        }
    ]
}

I tak dalej dla innych linii.

Moje teoretyczne podejście polegałoby na przejściu przezCSV plik na wiersz (tutaj zaczyna się pierwszy problem: teraz każdy wiersz jest równy jednej linii, ale czasami kilka, dlatego muszę policzyć przecinki?). Każdy wiersz jest równy blokowiconfig.profile, włączającid, email, pictureId, istatusId (dwa ostatnie są generowane w zależności od numeru wiersza).

Następnie dla każdego rzędu aconfig.pictures blok jest generowany z tym samymid jak ten włożony doconfig.profile blok. Thealbum jest zbiorem tylu elementów, ile jest podanych obrazów.

Na koniec każdy wiersz maconfig.status blok, który znowu ma to samoid jak ten podanyconfig.profilei jeden wpisstatus z odpowiednim statusem.

Nie mam pojęcia, jak utworzyć zagnieżdżony i warunkowy plik JSON.

Właśnie doszedłem do punktu, w którym przekonwertowałemCSV ważneJSON, bez zagnieżdżania i dodatkowych informacji, które nie są bezpośrednio podane wCSV, jaktype, pictureId, statusId, i tak dalej.

Każda pomoc jest doceniana. Jeśli łatwiej jest to zaprogramować w innym języku skryptowym (npruby), Chętnie przestawię się na te).

Zanim ktoś pomyśli, że to zadanie domowe lub coś w tym rodzaju. Nie jest. Chcę tylko zautomatyzować bardzo męczące zadanie kopiowania i wklejania.

questionAnswers(1)

yourAnswerToTheQuestion