У меня есть большая база данных SQLite со смесью текста и множеством других столбцов var1
... var 50
.Большинство из них числовые, хотя некоторые основаны на тексте.
Я пытаюсь извлечь данные из базы данных, обработать их на python и записать обратно - мне нужно сделать это для всех строк в БД.
Пока что ниже работает:
# get row using select and process
fields = (','.join(keys)) # "var1, var2, var3 ... var50"
results = ','.join([results[key] for key in keys]) # "value for var1, ... value for var50"
cur.execute('INSERT OR REPLACE INTO results (id, %s) VALUES (%s, %s);' %(fields, id, results))
Это, однако, обнуляет столбцы, которые я явно не добавляю обратно.Я могу исправить это, переписав код, но это выглядит довольно грязно, поскольку мне пришлось бы заключать в кавычки, используя конкатенацию строк, и переписывать данные, которые были там с самого начала (то есть столбцы, которые я не менял).
Видимо, способ запуска обновлений в строках выглядит примерно так:
update table set var1 = 4, var2 = 5, var3="some text" where id = 666;
Предположительно, для меня было бы возможно запустить map
и как-то добавить знаки =
(не уверенкак), но как бы я процитировал все результаты надлежащим образом (поскольку мне пришлось бы заключать в кавычки текстовые поля, и они могли бы также содержать кавычки внутри них ...)?
Я немного запутался.Любые указатели были бы очень полезны.
Спасибо!