Создать файл JSON из списка в Python ⇐ Python
-
Anonymous
Создать файл JSON из списка в Python
У меня есть код, который позволяет мне создать файл JSON из списка, создать список, проверить, чтобы элементы не повторялись, а затем создать файл JSON.
импортировать json рез = [] видел = установить() Защиту add_entry(res, id, tf1, tf2, tf3): # проверяем, есть ли в просмотренном наборе если (id, tf1, tf2, tf3) замечено: вернуть разрешение # добавить к просмотренному набору видел.add(кортеж([id, tf1, tf2, tf3])) # добавить в список результатов res.append({'metrica': id, 'ft1': tf1, 'tf2': tf2, 'tf3': tf3}) вернуть разрешение args = ['ext:tech.DB2', '40,023', '168,481', '15,55'] res = add_entry(res, *args) args = ['ext:bim.DB2', '25,02', '18,81', '5,35'] res = add_entry(res, *args) защита write_to_json(lst, fn): с open(fn, 'a',coding='utf-8') в виде файла: для элемента в списке: x = json.dumps(элемент, отступ = 4) file.write(x + '\n') #экспорт в JSON write_to_json(res, 'elements.json') Только файл JSON не является настоящим файлом JSON:
{ "метрика": "доб.:bim.DB2", "ft1": "40 023", "tf2": "168 481", "tf3": "15,55" } { "метрика": "доб.:bim.DB2", "ft1": "25,02", "tf2": "18,81", "tf3": "5,35" } Как это сделать:
{"данные":[{ "метрика": "доб.:bim.DB2", "ft1": "40 023", "tf2": "168 481", "tf3": "15,55" }, { "метрика": "доб.:bim.DB2", "ft1": "25,02", "tf2": "18,81", "tf3": "5,35" }]} файл json я генерирую в коде, а затем динамически мне нужно передать его другой функции, даже если бы я захотел, я не смог бы изменить значения вручную, в том числе потому, что мне нужно было бы изменить более 900 элементов, как я могу сделать это динамически?
У меня есть код, который позволяет мне создать файл JSON из списка, создать список, проверить, чтобы элементы не повторялись, а затем создать файл JSON.
импортировать json рез = [] видел = установить() Защиту add_entry(res, id, tf1, tf2, tf3): # проверяем, есть ли в просмотренном наборе если (id, tf1, tf2, tf3) замечено: вернуть разрешение # добавить к просмотренному набору видел.add(кортеж([id, tf1, tf2, tf3])) # добавить в список результатов res.append({'metrica': id, 'ft1': tf1, 'tf2': tf2, 'tf3': tf3}) вернуть разрешение args = ['ext:tech.DB2', '40,023', '168,481', '15,55'] res = add_entry(res, *args) args = ['ext:bim.DB2', '25,02', '18,81', '5,35'] res = add_entry(res, *args) защита write_to_json(lst, fn): с open(fn, 'a',coding='utf-8') в виде файла: для элемента в списке: x = json.dumps(элемент, отступ = 4) file.write(x + '\n') #экспорт в JSON write_to_json(res, 'elements.json') Только файл JSON не является настоящим файлом JSON:
{ "метрика": "доб.:bim.DB2", "ft1": "40 023", "tf2": "168 481", "tf3": "15,55" } { "метрика": "доб.:bim.DB2", "ft1": "25,02", "tf2": "18,81", "tf3": "5,35" } Как это сделать:
{"данные":[{ "метрика": "доб.:bim.DB2", "ft1": "40 023", "tf2": "168 481", "tf3": "15,55" }, { "метрика": "доб.:bim.DB2", "ft1": "25,02", "tf2": "18,81", "tf3": "5,35" }]} файл json я генерирую в коде, а затем динамически мне нужно передать его другой функции, даже если бы я захотел, я не смог бы изменить значения вручную, в том числе потому, что мне нужно было бы изменить более 900 элементов, как я могу сделать это динамически?