我有以下python 3代码:
import sqlite3
import json
conn = sqlite3.connect('data.db')
c = conn.cursor()
types = json.load(open('marketTypes.json'))
for data in types['items']:
c.execute('INSERT INTO marketTypes (id, name, href) VALUES (?, ?, ?)',
(data['id_str'], data['type']['name'], data['type']['href'])
conn.commit()
conn.close()
已经使用marketTypes表和3个字段创建了数据库; id,name和href。
json文件看起来像这样,前两个字段是,它是一个很长的文件。
{'items': [{'id': 18,
'id_str': '18',
'marketGroup': {'href': 'https://crest-tq.eveonline.com/market/groups/516/',
'id': 516,
'id_str': '516'},
'type': {'href': 'https://crest-tq.eveonline.com/types/18/',
'icon': {'href': 'http://imageserver.eveonline.com/Type/18_64.png'},
'id': 18,
'id_str': '18',
'name': 'Plagioclase'}},
{'id': 19,
'id_str': '19',
'marketGroup': {'href': 'https://crest-tq.eveonline.com/market/groups/517/',
'id': 517,
'id_str': '517'},
'type': {'href': 'https://crest-tq.eveonline.com/types/19/',
'icon': {'href': 'http://imageserver.eveonline.com/Type/19_64.png'},
'id': 19,
'id_str': '19',
'name': 'Spodumain'}},
当我运行python文件时,我得到:
File "sqlite.py", line 13
conn.commit()
^
SyntaxError: invalid syntax
有关如何解决问题的任何想法?如果标题不具体/有帮助,我道歉。
感谢。
答案 0 :(得分:2)
你有一个未闭合的括号:
console.log(this);
以更简单的形式,这是c.execute('INSERT INTO marketTypes (id, name, href) VALUES (?, ?, ?)',
^ (data['id_str'], data['type']['name'], data['type']['href'])
。请注意,c.execute(query, (data)
中的括号未关闭。
相反,它应该是:
c.execute(