Создайте файл json со следующей структурой из файла CSV, используя python - PullRequest
2 голосов
/ 13 марта 2019

Привет, у меня есть CSV-файл, который выглядит так

start_index end_index         Scalar           API
    0          30            zone0.pkl        zone0-0
    30         60            zone1.pkl        zone1-1
    60         65            zone2.pkl        zone2-2

Я должен создать файл json, который имеет вид ниже

{
    "channel1": {
        "0": [{
            "scalar": "/zone0.pkl",
            "api": "/model/zone0-0"
        }],
        "1": [{
            "scalar": "/zone0.pkl",
            "api": "/model/zone0-0"
        }]
    },

Но мне нужно добавить некоторые функции, т. Е. start_index and end_index первой строки - это 0 и 30. Таким образом, вышеприведенное должно повторяться 30 раз (с изменением позиции «0» от 0 до 30), а "scalar" and "api" должно оставаться прежним для 30 файлов.

Теперь идет вторая строка, которая имеет start index and end index как 30 и 60. Теперь вышеприведенная форма должна повториться 30 раз с "scalar" and "api", заменяющейся на соответствующую соответствующую вторую строку.

Точно так же это должно быть сделано для всех строк с объектом, реплицирующимся на (end_index-start_index), который не должен всегда быть 30 и соответствующим образом изменяется "Scalar" and "api". Я использую PYTHON

Если я недооценил или переоценил какой-либо момент, дайте мне знать в комментариях.

1 Ответ

1 голос
/ 13 марта 2019

попробуй

импорт JSON

def create_json(start, end, scalar, api):
    start_idx = start
    end_idx = end
    scalar = scalar
    api = api
    res = dict()
    res["channel1"] = dict()

    for i in range(start_idx, end_idx):
        res["channel1"][i] = {"scalar": scalar, "api": api}

    json_res = json.dumps(res, indent=4)
    return json_res

print(create_json(0, 30, "zone0.pkl", "zone0-0"))
print(create_json(30, 60, "zone1.pkl", "zone1-1"))
...