使用 for 循环创建多个数据框

时间:2021-01-13 15:44:06

标签: python json pandas dataframe for-loop

嗨,我有如下代码:

with open("file123.json") as json_file:
    data = json.load(json_file)

df_1 = pd.DataFrame(dict([(k,pd.Series(v)) for k,v in data["spt"][1].items()]))
df_1_made =pd.json_normalize(json.loads(df_1.to_json(orient="records"))).T.drop(["content.id","shortname","name"])

df_2 = pd.DataFrame(dict([(k,pd.Series(v)) for k,v in data["spt"][2].items()]))
df_2_made = pd.json_normalize(json.loads(df_2.to_json(orient="records"))).T.drop(["content.id","shortname","name"])

df_3 = pd.DataFrame(dict([(k,pd.Series(v)) for k,v in data["spt"][3].items()]))
df_3_made = pd.json_normalize(json.loads(df_3.to_json(orient="records"))).T.drop(["content.id","shortname","name"])

数据帧是从 json 文件构建的 问题是我正在处理不同的 json 文件,每个文件都会导致不同数量的数据帧。所以上面的代码是3,它可能会变成7。有没有办法做一个取数据长度的for循环:

length = len(data["spt"])

并从中制作正确数量的数据帧?所以我不需要手动完成。

0 个答案:

没有答案