从文件访问json数据并在python脚本中使用

从文件访问json数据并在python脚本中使用,python,json,plotly,Python,Json,Plotly,我有一个json文件,其中包含: [{ "id": "a1", "num": "1" }, { "id": "a2", "num": "3" }, { "id": "a3", "num": "2" }] 我用plotly来画它, 这是我的密码: 导入plotly.plotly作为py 导入plotly.graph_objs作为go 导入json 从pprint导入pprint with open('output.json') as data_f

我有一个json文件,其中包含:

[{
    "id": "a1",
    "num": "1"
}, {
    "id": "a2",
    "num": "3"
}, {
    "id": "a3",
     "num": "2"
}]
我用plotly来画它, 这是我的密码: 导入plotly.plotly作为py 导入plotly.graph_objs作为go 导入json 从pprint导入pprint

with open('output.json') as data_file:
    data = json.load(data_file)

    pprint(data)


  data = [go.Bar(
        x=['a1', 'a2', 'a3'],
        y=[1,3,2]
        )]

  py.iplot(data, filename='basic-bar')
而不是

x = ['a1', 'a2','a3']
y=[1,3,2]
我试图通过以下方式访问它:

for key.value in data.items():
    print(key,value)
抛出一个错误: 回溯(最近一次呼叫最后一次): 文件“plotlyExample.py”,第11行,在 对于data.items()中的key.value: AttributeError:“列表”对象没有属性“项”

我想:

a1,a2,a3
将是钥匙和钥匙 1,3,2将是值

我想从json文件中读取它。我可以看到数据有输出,但不知道如何使用它


任何指针都将受到欢迎。

在创建图形之前,您必须将json解析到x和y列表中

data = json.load(data_file)

# will yield x and y arrays
x = [i['id'] for i in data]
y = [int(i['num']) for i in data]
由于num键的值是字符串,因此在打印之前应将其转换为整数。使用该值遍历数据的字典列表并返回新列表

data = [go.Bar(
    x=[x['id'] for x in data],
    y=[int(x['num']) for x in data]
)]
load('filename')就足够了,不需要打开它或其他任何东西