Python 将json文件导入数据帧

Python 将json文件导入数据帧,python,pandas,Python,Pandas,我有几个json文件,如下所示: data = {"75575": {"name": "Dummy name 1", "season": "", "ep": "", "channel": "Dummy channel 1", "Schedule": ["2017-05-11", "2019-04-30", "", "", "2019-08-01", "2019

我有几个json文件,如下所示:

data = {"75575": 
            {"name": "Dummy name 1", 
             "season": "", 
             "ep": "", 
             "channel": "Dummy channel 1", 
             "Schedule": ["2017-05-11", "2019-04-30", "", "", "2019-08-01", "2019-08-31", "2017-05-11", "2019-04-30", "", ""]}, 
        "115324": 
            {"name": "Dummy name 2", 
             "season": "", 
             "ep": "", 
             "channel": "Dummy channel 2", 
             "Schedule": ["2017-05-09", "2019-05-31", "2017-05-09", "2019-05-31", "", "", "", "", "2019-09-01", "2019-09-30"]},}
我尝试使用
json\u normalize(data)
,但结果是
[1行x 10列]
,因此我使用以下解决方法:

import pandas as pd

df = pd.DataFrame()

for k, v in data.items():
    x = pd.Series(["Dummy genre",k, v.get("name"), v.get("season"), v.get("ep"),
                   v.get("channel"), *v.get("Schedule")],
                  index=("Genre", "ID", "Name", "Season", "Episode", "Channel",
                         "Start date 1", "End date 1", "Start date 2", "End date 2", "Start date 3", "End date 3",
                         "Start date 4", "End date 4", "Start date 5", "End date 5"))
    df = pd.concat([df, x.to_frame().T], ignore_index=True)
有没有一种方法可以通过
json\u normalize
?我试着玩弄它,但我无法控制它。还要注意,我必须摄取5个不同的json文件,格式相同

我的预期产出:

         Genre      ID     ...     Start date 5  End date 5
0  Dummy genre   75575     ...                             
1  Dummy genre  115324     ...       2019-09-01  2019-09-30

不确定是否使用
json\u normalize
,但似乎您可以只使用常规的
pd.DataFrame
构造函数

df = pd.DataFrame(data).T
df = df.join(pd.DataFrame(df.Schedule.tolist(), index=df.index)).drop('Schedule', 1)

然后简单地用您已有的列表重命名这些列。

不确定
json\u normalize
,但似乎您可以使用常规的
pd.DataFrame
构造函数

df = pd.DataFrame(data).T
df = df.join(pd.DataFrame(df.Schedule.tolist(), index=df.index)).drop('Schedule', 1)
然后简单地用您已有的列表重命名列