Python / SQL Вставка нескольких переменных в параметр и наличие нескольких параметров - PullRequest
0 голосов
/ 16 февраля 2019

Я пытаюсь сохранить переменные из функции python в базе данных sqlite3.Я не уверен, правильно ли я отношусь к параметрам.Синтаксических ошибок нет, но я получаю страницу с ошибкой 500.

title, hightemp, lowtemp и desc - имена столбцов.Таблица называется прогнозом погоды.

Когда сомнительный код удален, страница загружается нормально.Конечно, у меня есть строка подключения, и я правильно сопоставляю переменные с выходами функций, но они не нужны для фрагмента.

    params = {'title'[
          : day1titlevar,
          : day2titlevar,
          : day3titlevar,
          : day4titlevar,
          : day5titlevar,
          : day6titlevar],

          'hightemp'[
          : day1highvar,
          : day2highvar,
          : day3highvar,
          : day4highvar,
          : day5highvar,
          : day6highvar],

          'lowtemp'[
          : day1lowvar,
          : day2lowvar,
          : day3lowvar,
          : day4lowvar,
          : day5lowvar,
          : day6lowvar],

          'desc'[
          : day1descvar,
          : day2descvar,
          : day3descvar,
          : day4descvar,
          : day5descvar,
          : day6descvar]

          }

db.execute("insert into weatherforecast values(:day1titlevar,:day1highvar,:day1lowvar,:day1descvar,:day2titlevar,:day2highvar,:day2lowvar,:day2descvar,:day3titlevar,:day3highvar,:day3lowvar,:day3descvar,:day4titlevar,:day4highvar,:day4lowvar,:day4descvar,:day5titlevar,:day5highvar,:day5lowvar,:day5descvar,:day6titlevar,:day6highvar,:day6lowvar,:day6descvar);", params)
db.commit()
db.close()

1 Ответ

0 голосов
/ 17 февраля 2019

Я думаю, что вы хотите основать свой код примерно так:

data = [dict(day=1,temp=25),
        dict(day=2,temp=22),
        dict(day=3,temp=19)]

for measure in data: # just for visual check
    print(measure['day'],measure['temp'])

for measure in data:
    db.execute('insert into forecast("day", "temp") values(:day,:temp);', measure)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...