使用python在JSON文件中生成时间序列数据



我正试图通过python生成以下JSON结构。这是从mongoDB网站上截取的

{
timestamp_hour: ISODate("2013-10-10T23:00:00.000Z"),
type: “memory_used”,
values: {
0: { 0: 999999, 1: 999999, …, 59: 1000000 },
1: { 0: 2000000, 1: 2000000, …, 59: 1000000 },
…,
58: { 0: 1600000, 1: 1200000, …, 59: 1100000 },
59: { 0: 1300000, 1: 1400000, …, 59: 1500000 }
}
}

到目前为止,我有以下内容:

import json
import random
data = {}  
data['type'] = "memory_used"
data['timeStamp_Hour'] = "2018-10-01T00:00:00.000Z" 
data['values'] = []
for x in range(59):
for y in range(59):
data['values'].append({  
x : round(random.uniform(0, 100), 2)
})
with open('data.txt', 'w') as outfile:  
json.dump(data, outfile)

这给了我:

{
"type": "memory_used",
"timeStamp_Hour": "2018-10-01T00:00:00.000Z",
"values": [
{
"0": 9.8
},
{
"0": 33.61
},
......

我不知道如何构造循环,以便可以将其附加到值部分。

看起来values应该是Dict[int, Dict[int,int]],而不是您现有的列表。

...
data['values'] = {}
for x in range(59):
d={}
for y in range(59):
d[y]=round(random.uniform(0, 100), 2) 
data['values'][x]= d
...

最新更新