这是我的json文件的样子:
d = {
"Success" :
{
"Schema1.Table1" : [
file1, file2
],
"Schema1.Table2" : [
file3, file4, file5
]
},
"Fail" :
{
"Schema1.Table1" : [
file7, file8
],
"Schema1.Table2" : [
file10, file11, file12
]
}
}
我想将其转换为如下所示的数据框:
Success
Schema1.Table1.file1
Schema1.Table1.file2
...
Fail
Schema1.Table1.file7
Schema1.Table1.file8
...
有关如何操作的任何建议?
答案 0 :(得分:1)
您可以创建Series
的字典并以嵌套字典理解的方式传递给DataFrame
构造函数:
import json
with open('file.json') as file:
d = json.load(file)
d1 = {k: pd.Series([f'{k1}.{x}' for k1, v1 in v.items() for x in v1]) for k, v in d.items()}
df = pd.DataFrame(d1)
print (df)
Success Fail
0 Schema1.Table1.file1 Schema1.Table1.file7
1 Schema1.Table1.file2 Schema1.Table1.file8
2 Schema1.Table2.file3 Schema1.Table2.file10
3 Schema1.Table2.file4 Schema1.Table2.file11
4 Schema1.Table2.file5 Schema1.Table2.file12