将长JSON密钥转换为SQLite数据库的有效方法

时间:2017-05-25 21:24:42

标签: python json sqlite

我有一个包含许多参数的复杂JSON文件,我需要将其转换为SQLite数据库。

这是我的示例数据块:

{"hostname": "DESKTOP-A5C21U7", "ts": 1494334366.1905415, "parameters":
[{"label": "T16", "name": "T16", "unit": "K", "value": 78.84589895546188}, 
{"label": "PID Mode", "name": "pid_mode", "unit": "", "value": "off"}, 
 {"label": "IDN", "name": "IDN", "unit": "", "value": 
 {"vendor": null, "model": "dummy", "serial": null, "firmware": null}}, 
 {"label": "PID Mode", "name": "pid_ramp", "unit": "", "value": "off"}, 
 {"label": "PID heater range", "name": "pid_range", "unit": "mA", "value": 0.316},
 {"label": "Status", "name": "status", "unit": "", "value": "Error"}, 
 {"label": "PID temperature setpoint", "name": "pid_setpoint", "unit": "K", "value": 0.0},
 {"label": "PID ramp rate", "name": "pid_rate", "unit": "K/min", "value": 0.0},
 {"label": "Current action", "name": "action", "unit": "", "value": "Idle"},
 {"label": "T6", "name": "T6", "unit": "K", "value": 180.17461269853666}]}

我试图以与here类似的方式解决它,但它没有正确映射表并且我不断收到SQL错误。

将长字符串和字典值排序到SQL数据库中有什么好的简单方法?

我刚刚启动了SQLite,并且在python中也很新。

谢谢!

1 个答案:

答案 0 :(得分:0)

你可以使用下面的代码逐个检索所有数据,然后插入你的数据库表。在python 3.6下测试。

jsonobject = json.dumps(data)

jsonobjectToString = json.loads(jsonobject)


for resp in jsonobjectToString["parameters"]:
    print (resp["label"])
    print (resp["name"])
    print (resp["unit"])
    print (resp["value"])

============================       T16       ķ       78.84589895546188       PID模式       pid_mode

  off
  IDN
  IDN