Я пытаюсь получить доступ к данным строки в определенном столбце, но функция возвращает имя столбца вместо значения строки. Я замечаю, что если я использую звезду (*)
, чтобы выбрать все, функция возвращает все значения, а не ключи, и если я вручную ввожу имя столбца, к которому пытаюсь получить доступ, он тоже работает.
В функции _dict
- это словарь, который я отправляю в качестве параметра, и его ключи совпадают с именами столбцов в базе данных, поэтому я пытаюсь каждый раз менять цикл на другой ключ, преобразуйте его в строку и выберите значение имени этого столбца в базе данных.
def query(_dict, zipcode):
# Connection to database
conn = sqlite3.connect('mashup.db')
# Creation of cursor
cur = conn.cursor()
# Make query to database
for key in _dict:
key_name = str(key)
cur.execute("SELECT ? FROM places WHERE postal_code = ?",[key_name,zipcode])
db_query = cur.fetchone()
_dict[key] = db_query[0]
return _dict
Я также пробовал cur.fetchone()
и fetchall()
, но получаю тот же результат.
На всякий случай, вот диктовку, которую я передаю в качестве параметра:
# Creation of the dict of places
places_dict = {
'accuracy': '',
'admin_code1': '',
'admin_code2': '',
'admin_code3': '',
'admin_name1': '',
'admin_name2': '',
'admin_name3': '',
'country_code': '',
'latitude': '',
'longitude': '',
'place_name': '',
'postal_code': ''}