У меня есть несколько файлов, каждый из которых содержит несколько сильно вложенных json строк. Два первых ряда одного из таких файлов выглядят так:Несколько jsons to csv
{
"u":"28",
"evv":{
"w":{
"1":400,
"2":{
"i":[{
"l":14,
"c":"7",
"p":"4"
}
]
}
}
}
}
{
"u":"29",
"evv":{
"w":{
"3":400,
"2":{
"i":[{
"c":14,
"y":"7",
"z":"4"
}
]
}
}
}
}
они фактически являются строками, я просто написал их здесь таким образом, чтобы получить дополнительную видимость.
Мой вопрос заключается в следующем:
Есть ли способ, чтобы преобразовать все эти файлы в один (или несколько, то есть по одному на файл) CSV/Excel ...?
Есть ли простой способ, который не требует написания десятки или сотни строк в Python, специфичные для моего файла, чтобы преобразовать все эти файлы в один (или несколько, то есть по одному на файл) в формате CSV/excel ...? В качестве примера можно использовать внешнюю библиотеку, скрипт ..., который обрабатывает эту конкретную задачу независимо от имен полей.
Ловушка заключается в том, что некоторые элементы не отображаются в каждой строке. Например, для ключа «i» мы имеем 3 поля (l, c, p) в первом json и 3 во втором (c, y, z). В идеале, csv должен содержать как можно больше столбцов (например, evv.w.2.il, evv.w.2.ic, evv.w.2.ip, evv.w.2.iy, evv.w. 2.iz), рискуя иметь (много) нулевых значений в строке csv.
Возможный выход CSV для этого примера будет иметь следующие столбцы:
u, evv.w.1, evv.w.3, evv.w.2.i.l, evv.w.2.i.c, evv.w.2.i.p, evv.w.2.i.y, evv.w.2.i.z
Любая идея/ссылка на приветствуется :)
Благодаря
Да, это возможно - я рекомендую смотреть на Питона [JSON] (https://docs.python.org/2/library/json.html) и [CSV] (https://docs.python.org/2/library/csv.html) и пытается написать скрипт, который делает то, что вы хотите. Вернитесь сюда, если вы застряли, и мы поможем вам отладить вашу программу –
Пожалуйста, отредактируйте свой вопрос и покажите, что должен содержать файл csv для данных примера и код, который вы написали, чтобы попытаться сделать это самостоятельно. – martineau
@HaydenSchiff, я знаю о существовании этих двух модулей и Я знаю, что могу использовать их для xactly, что я хочу, хотя это может быть очень громоздким. Мой вопрос заключается в том, написан ли скрипт, который делает то, что я хочу, до – Salem