JSONファイルをデータベースに保存しようとしています。私は非常に少しの経験を持っていますが、少し検索を実行した後、私はこのコードがJSiteをSQLiteに書き込む
import json
import sqlite3
JSON_FILE = "some.json"
DB_FILE = "some.db"
traffic = json.load(open(JSON_FILE))
conn = sqlite3.connect(DB_FILE)
foo = traffic[0]["foo"]
bar = traffic[0]["bar"]
data = [foo, bar]
c = conn.cursor()
c.execute('create table table_name (foo, bar)')
c.execute('insert into table_name values (?,?)', data)
conn.commit()
c.close()
しかし、私はエラーKeyError: 0
を投げていました。
私がテストしてるJSONは、私は、データベースに、このJSON、または同様のものを書くでしょうどのように正確に
{
"name":"",
"children":[
{
"name":"Level 1",
"children":[
{
"name":"Level 2",
"children":[
{
"name":"Level 3",
"children":[
{
"name":"Level 4",
"children":[
{
"name":"Speed",
"children":null,
"id":6
}
],
"id":5
}
],
"id":4
}
],
"id":3
}
],
"id":2
},
{
"name":"Level 1",
"children":[
{
"name":"Level 2",
"children":[
{
"name":"Level 3",
"children":[
{
"name":"Level 4",
"children":[
{
"name":"Cost",
"children":null,
"id":11
}
],
"id":10
}
],
"id":9
}
],
"id":8
}
],
"id":7
},
{
"name":"Level 1",
"children":[
{
"name":"Level 2",
"children":[
{
"name":"Level 3",
"children":[
{
"name":"Level 4",
"children":[
{
"name":"Manufacturability",
"children":null,
"id":16
}
],
"id":15
}
],
"id":14
}
],
"id":13
}
],
"id":12
}
],
"id":1
}
のですか?
問題が明らかである、Pythonはlanauguageを解釈なので、あなただけの文を一つずつ入力することができキーエラーが発生すると、dictが索引でインデックスできないためロードされるjsonが発生するため、レベル/深度にもかかわらず、名前または子でなければならない0がキーとしてカウントされます。または、 json/dictファイルにfooやbarはありません –