Предположим, что у меня есть pandas DataFrame с именем df
, который выглядит примерно так:
source tables columns
src1 table1 col1
src1 table1 col2
src1 table2 col1
src2 table1 col1
src2 table1 col2
Мой текущий код ниже может перебирать список источников и вкладывать список таблиц в каждый источник как объект:
data = [
{k: v}
for k, v in df.groupby('source')['tables'].agg(
lambda x: {v: {} for v in x}).items()
]
with open('data.json', 'w') as f:
json.dump(data, f, indent = 2)
Вывод, который я получаю с этим кодом, выглядит следующим образом:
[
{
"src1": {
"table1": {},
"table2": {}
}
},
{
"src2": {
"table1": {},
}
}
]
Мой желаемый вывод:
[
{
"src1": {
"table1": {
"col1": {},
"col2": {}
},
"table2": {
"col1": {}
}
}
},
{
"src2": {
"table1": {
"col1": {}
}
}
}
]
Любая помощь При преобразовании моего 2-слойного вложенного файла JSON в 3 слоя, как показано выше, было бы очень полезно. Заранее спасибо.