Python 将json文件导入数据帧
我有几个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
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)
然后简单地用您已有的列表重命名列