gpt4 book ai didi

pandas - 将 JSON 解析为 Excel - Pandas + xlwt

转载 作者:行者123 更新时间:2023-12-01 13:18:55 25 4
gpt4 key购买 nike

我已经完成了这个功能的一半。但是,我需要一些帮助来格式化包含输出的工作表中的数据。

我现在的代码...

response = {"sic2":[{"confidence":1.0,"label":"73"}],"sic4":[{"confidence":0.5,"label":"7310"}],"sic8":[{"confidence":0.5,"label":"73101000"},{"confidence":0.25,"label":"73102000"},{"confidence":0.25,"label":"73109999"}]}


# Create a Pandas dataframe from the data.
df = pd.DataFrame.from_dict(json.loads(response), orient='index')

# Create a Pandas Excel writer using XlsxWriter as the engine.
writer = pd.ExcelWriter('pandas_simple.xlsx', engine='xlsxwriter')

# Convert the dataframe to an XlsxWriter Excel object.
df.to_excel(writer, sheet_name='Sheet1')

# Close the Pandas Excel writer and output the Excel file.
writer.save()

输出如下...
enter image description here

我想要的是这样的......

enter image description here

我想首先我需要提取和组织标题。
这还包括为默认情况下不能有标题的列手动分配标题,如在 SIC 列的情况下。

之后,我可以将数据提供给带有各自标题的列。

最佳答案

您可以遍历 json 对象的键并从每个键创建一个数据框,然后使用 pd.concat将它们全部结合起来:

import json

import pandas as pd

response = '{"sic2":[{"confidence":1.0,"label":"73"}],"sic4":[{"confidence":0.5,"label":"7310"}],"sic8":[{"confidence":0.5,"label":"73101000"},{"confidence":0.25,"label":"73102000"},{"confidence":0.25,"label":"73109999"}]}'

json_data = json.loads(response)

all_frames = []
for k, v in json_data.items():
df = pd.DataFrame(v)
df['SIC Category'] = k
all_frames.append(df)

final_data = pd.concat(all_frames).set_index('SIC Category')

print(final_data)

这打印:
              confidence     label
SIC Category
sic2 1.00 73
sic4 0.50 7310
sic8 0.50 73101000
sic8 0.25 73102000
sic8 0.25 73109999

您可以像以前一样通过 final_data.to_excel(writer, sheet_name='Sheet1') 导出到 Excel

关于pandas - 将 JSON 解析为 Excel - Pandas + xlwt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51741239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com