pandas读取json文件并进行刷选导出xlsx文件
原始json数据
import pandas as pd
import pprint
# 读取json文件
df_tv_shows = pd.read_json("datas/tv_shows.json")
# 读取json文件中shows数组下所有数据
first_obj = df_tv_shows.loc[:, "shows"]
# 将shows数组数据读出,其中episodes是shows下的数组
df_tmp = pd.json_normalize(data=first_obj, record_path="episodes", meta=["show", "runtime","network"])
pprint.pprint(df_tmp)
# 刷选出show=The X-Files
df_tmp1=df_tmp[df_tmp["show"]=="The X-Files"]
print(df_tmp1.head())
print(df_tmp1.info())
# 刷选出show=Lost
df_tmp2=df_tmp[df_tmp["show"]=="Lost"]
print(df_tmp2.head())
print(df_tmp2.info())
# 刷选出show=Buffy the Vampire Slayer
df_tmp3=df_tmp[df_tmp["show"]=="Buffy the Vampire Slayer"]
print(df_tmp3.head())
print(df_tmp3.info())
# 将刷选出三组数据导出为xlsx文件
#xlsx文件名称
excel_file = pd.ExcelWriter("episodes.xlsx")
df_tmp1.to_excel(excel_writer=excel_file,
sheet_name = "xfiles",
index = False)
df_tmp2.to_excel(excel_writer=excel_file,
sheet_name = "lost",
index = False)
df_tmp3.to_excel(excel_writer=excel_file,
sheet_name = "vampire",
index = False)
excel_file.save()
df_tmp数据格式如下:
最后导出的xlxs文件: