У меня большой список, где каждый элемент списка представляет собой словарь.В словарь вложен еще один список, который сам содержит сотни пар ключ: значение.Я хотел бы записать этот список в файл, чтобы:
- он был хорошо отформатирован (удобочитаемым).различные "уровни" файла имеют разные отступы
- это все еще список (т.е. файл начинается с
[
и заканчивается ]
Мне бы хотелосьчтобы выглядеть примерно так:
[{
"id": "1",
"day": 20190928,
"layer": {
"some_value": "value",
"some_other_value": 2,
"some_value_int": 5,
"imageFormat": "image/png",
},
"elements": [
{
"httpStatusCode": 200,
"requestTime": 1553731321446,
"some_attribute": 143,
"some_binary_value": True,
},
{
"httpStatusCode": 200,
"requestTime": 1553731321446,
"some_attribute": 143,
"some_binary_value": True,
},
# and so on...
Я чувствую, что это должно быть тривиальным заданием, но я немного растерялся. Это то, что я пытался:
for item in converted_data:
for key, value in item.items():
if type(value) == dict:
#Implement
pass
elif type(value) == list:
#Implement
pass
else:
outfile.write(" {} : {},\n".format(key, value))
Но даже до окончанияесли я вижу, что это неправильный подход, который делает что-то очень простое очень сложным. Я смотрел на SO, но не нашел вопросов, похожих на мою проблему. Итак, как мне это сделать?
Я не знаюфайл должен быть в точности таким, как я предложил. Мне просто нужно, чтобы он был как машиночитаемым, так и машиночитаемым.
Буду благодарен за любые предложения относительно того, как решить эту проблему.