需要将List输出转换为字典或首选json。请建议

时间:2019-02-14 05:49:10

标签: python

在获取在线交易数据时,我的输出如下:-

['2019-02-10T00:17:00.000Z', 3629.0, 3629.5, 3629.0, 3629.5, 91920.0],

我希望输出为:-

[{"TimeStamp":"2019-02-10T00:17:00.000Z", "Open":"3629.0","Close": "3629.5", "Low":"High":"3629.0", "Low":"3629.5", "Volume":"91920.0"}],

2 个答案:

答案 0 :(得分:1)

基本上,您需要做的是导入json模块并使用json.dump(mList,file)。

但是,我想要的结构是,最好将列表解析为字典,然后使用json模块将该字典序列化为json文件。基本上是json.dump(mDict,file)

示例:

首先导入json模块。

import json

然后将您的列表解析为字典(执行此操作的方法不同)

mList = ['2019-02-10T00:17:00.000Z', 3629.0, 3629.5, 3629.0, 3629.5, 91920.0]
mDict = {
    "TimeStamp":mList[0],
    "Open": mList[1],
    "Close": mList[2],
    "High" : mList[3],
    "Low" : mList[4],
    "Volume" : mList[5]
    }

或者您也可以使用Jay的zip方法。

然后完成

with open('test.json','w') as my_json:
    json.dump(mDict,my_json)

答案 1 :(得分:1)

尝试以下代码。在这种情况下,我将按与输入列表相同的顺序维护一个键列表,然后使用zip对其进行配对。

data = ['2019-02-10T00:17:00.000Z', 3629.0, 3629.5, 3629.0, 3629.5, 91920.0]

keys = ['TimeStamp', 'Open', 'Close', 'Low', 'High', 'Volume']

res_dict = {}
for x,y in zip(keys, data):
    res_dict[x] = y

res_list = [res_dict]
print res_list

输出:

[{'Volume': 91920.0, 'TimeStamp': '2019-02-10T00:17:00.000Z', 'High': 3629.5, 'Low': 3629.0, 'Close': 3629.5, 'Open': 3629.0}]