-1

いくつかの初期パラメーターと、次のようなデータのレコードを含む 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))
4

2 に答える 2

1

a) 質問で無効な json 形式を使用しています
b) exeptFalsefalsepython のデータ形式は、この例では JSON とまったく同じになります

UPDATE : 更新された質問に基づくコード ( while ループの代わりにリスト内包表記を使用):

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))
于 2012-06-21T15:12:17.887 に答える
0
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) ])
于 2012-06-21T15:02:56.307 に答える