Я хочу сгенерировать оператор вставки для SQL, чтобы заполнить таблицу ключом URL-адреса со значением из dict. Мои Jsondata выглядят так:
dict_items([('date', '20122013-10-15'), ('termijn', 1), ('spreker', 'Van der Burg'),
('rol', 'Mevrouw'), ('indegree', 2), ('aantal_interrupts', 6), ('interruptors',
{'Thieme': 2, 'Pechtold': 4}), ('OnderwerpDebat', 'Begroting Algemene Zaken en begroting van de Koning'),
('url', 'https://zoek.officielebekendmakingen.nl/h-tk-20122013-10-15.xml')])
for index in range(len(jsondata)):
for key, value in jsondata[index].items():
if key == 'url':
columns = key
values = value
sql = "INSERT INTO %s ( %s ) VALUES ( %s );" % ('onderwerp', columns, values)
print(sql)
cursor.execute(sql)
cursor.execute("""SELECT * FROM onderwerp; """).fetchall()
Вывод оператор print выглядит следующим образом:
INSERT INTO onderwerp ( url ) VALUES ( https://zoek.officielebekendmakingen.nl/h-tk-20122013-10-15.xml );
Я хочу, чтобы вывод был:
INSERT INTO onderwerp ( url ) VALUES ( "https://zoek.officielebekendmakingen.nl/h-tk-20122013-10-15.xml" );
Всякий раз, когда я хочу выполнить выполнение, он говорит:
---------------------------------------------------------------------------
OperationalError Traceback (most recent call last)
<ipython-input-156-1e0bc150168a> in <module>
9 sql = "INSERT INTO %s ( %s ) VALUES ( %s );" % ('onderwerp', key, str(value))
10 print(sql)
---> 11 cursor.execute(sql)
12
13 cursor.execute("""SELECT * FROM onderwerp; """).fetchall()
OperationalError: unrecognized token: ":"
Таким образом, это означает, что URL был сохранен не как целая строка, а как комбинация символов. Как мне добраться до этой точки?