Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Python在JSON中编写大量嵌套记录_Python_Json_Records - Fatal编程技术网

如何使用Python在JSON中编写大量嵌套记录

如何使用Python在JSON中编写大量嵌套记录,python,json,records,Python,Json,Records,我想生成一个JSON文件,包含一些初始参数,然后记录如下数据: { "measurement" : 15000, "imi" : 0.5, "times" : 30, "recalibrate" : false, { "colorlist" : [234, 431, 134] "speclist" : [0.34, 0.42, 0.45, 0.34, 0.78] } { "colorlist" : [214, 451, 114] "speclist" : [0.44

我想生成一个JSON文件,包含一些初始参数,然后记录如下数据:

{
 "measurement" : 15000,
 "imi" : 0.5,
 "times" : 30,
 "recalibrate" : false,
 {
  "colorlist" : [234, 431, 134]
  "speclist" : [0.34, 0.42, 0.45, 0.34, 0.78]
 }
 {
  "colorlist" : [214, 451, 114]
  "speclist" : [0.44, 0.32, 0.45, 0.37, 0.53]
 }
 ...
}
如何使用Python json模块实现这一点?数据记录太多,无法手动添加

编辑:在@Aprillion的帮助下解决。以下是程序中的结果代码:

data=[]
i=0
while i<measurement:
  data.append({"colorlist" : listcolorlist[i], "speclist" : listspeclist[i]})
  i+=1
python_data = {
  "measurement" : measurement,
  "imi" : imi,
  "times" : times,
  "recalibrate" : recalibrate,
  "data": data
}
print(json.dumps(python_data, indent=4))
data=[]
i=0
而我a)您在问题中使用了无效的json格式
b) exept
False
vs.
False
python数据格式与本例中的JSON完全相同

更新:基于更新问题的代码(使用代替while循环):


阅读json模块文档。@OP:除了向我们展示您的尝试之外,请具体询问。你到底想要什么?我觉得你的json示例源代码很奇怪。你确定那些等号和嵌套的、看起来有点像dict的东西在里面吗?它们应该是周围的值还是键?我试过在字典中使用字典,但这不起作用,因为我需要如图所示将colorlist和speclist值绑定在一起。@jamesmcm dictionary需要
key:value
对,有关正确的数据格式,请参阅我的答案谢谢,这解决了格式问题,现在我只需要写一个for循环来重复从python列表中提取数组。如果您需要帮助,请更新问题或发布一个新的问题来包含您的原始数据,我没有您知道的算命水晶球(否则,如果您发现了您要的内容,请接受答案)是的,对不起,我工作很忙。如果其他人也有类似的问题,这就是确切的结果代码:data=[]i=0,而ii也更新了我的答案,以防任何人发现列表理解比while循环更优雅(可能还节省内存和极少数处理器周期)
import json
print json.dumps([ {
    "measurement%d" % i : 15000,
    "imi%d" % i : 0.5,
    "times%d" % i : 30,
    "recalibrate%d" % i : False,
} for i in range(10) ])
import json
measurement = 2
listcolorlist = [[234, 431, 134],
                 [214, 451, 114]]
listspeclist = [[0.34, 0.42, 0.45, 0.34, 0.78],
                [0.44, 0.32, 0.45, 0.37, 0.53]]
python_data = {"measurement" : 15000,
               "imi" : 0.5,
               "times" : 30,
               "recalibrate" : False,
               "data" : [{"colorlist" : listcolorlist[i],
                          "speclist" : listspeclist[i]}
                         for i in range(measurement)]}
print(json.dumps(python_data))