为了账号安全,请及时绑定邮箱和手机立即绑定

从 Python for Excel 中的 json 数组中提取数据

从 Python for Excel 中的 json 数组中提取数据

当年话下 2023-06-06 15:03:00
{  "result" : [{      "conf" : 1.000000,      "end" : 0.300000,      "start" : 0.000000,      "word" : "bright"    }, {      "conf" : 1.000000,      "end" : 0.720000,      "start" : 0.330000,      "word" : "bright"    }, {      "conf" : 1.000000,      "end" : 1.950000,      "start" : 1.710000,      "word" : "bright"    }],  "text" : "bright bright bright"}我有这个 JSON 数组。我需要从表格格式的“结果”中提取所有详细信息。例如,   conf       start      end        word1.000000    0.000000   0.300000    bright1.000000    0.330000   0.720000    bright1.000000    1.710000   1.950000    bright如何从“结果”部分提取这些值并将详细信息附加到 excel 中?
查看完整描述

3 回答

?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

使用csv内置模块。

import csv


json = {

  "result" : [{

      "conf" : 1.000000,

      "end" : 0.300000,

      "start" : 0.000000,

      "word" : "bright"

    }, {

      "conf" : 1.000000,

      "end" : 0.720000,

      "start" : 0.330000,

      "word" : "bright"

    }, {

      "conf" : 1.000000,

      "end" : 1.950000,

      "start" : 1.710000,

      "word" : "bright"

    }],

  "text" : "bright bright bright"

}


header = json['result'][0].keys()

with open('results.csv', 'w', newline='') as file_:

    dict_writer = csv.DictWriter(file_, fieldnames=header)

    dict_writer.writeheader()

    dict_writer.writerows(json['result'])


查看完整回答
反对 回复 2023-06-06
?
开心每一天1111

TA贡献1836条经验 获得超13个赞

import pandas as pd


json_val = {

  "result" : [{

      "conf" : 1.000000,

      "end" : 0.300000,

      "start" : 0.000000,

      "word" : "bright"

    }, {

      "conf" : 1.000000,

      "end" : 0.720000,

      "start" : 0.330000,

      "word" : "bright"

    }, {

      "conf" : 1.000000,

      "end" : 1.950000,

      "start" : 1.710000,

      "word" : "bright"

    }],

  "text" : "bright bright bright"

}

pd.read_json(json_val['result'], orient='index').to_csv('someName.csv')


查看完整回答
反对 回复 2023-06-06
?
12345678_0001

TA贡献1802条经验 获得超5个赞

我会非常推荐pandas,不会占用很多线路。

根据您的示例,这可以通过以下方式实现:

import pandas as pd
pd.read_json(json['result'], orient='index').to_excel('output.xlsx')
查看完整回答
反对 回复 2023-06-06
  • 3 回答
  • 0 关注
  • 115 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信