Вставка некоторого списка Python в базу данных SQL Server - PullRequest
0 голосов
/ 12 октября 2019

Я пытаюсь вставить какой-либо список в базу данных SQL Server.

Я уже пробовал это сделать:

trdcode = trdcode[1:]
ltp = ltp[1:]
high = high[1:]

datatable = [tuple(trdcode),tuple(ltp),tuple(high)]
query = "INSERT INTO test (TRADINGCODE, LTP, HIGH) VALUES (?, ?, ?)"
cursor.execute(query, datatable)
connection.commit()

Но я получаю сообщение об ошибке:

enter image description here

Тип данных в SQL Server для этих столбцов VARCHAR, а элементы списка str.

Как решитьэта ошибка? Или есть какой-нибудь альтернативный способ выполнить эту задачу?

1 Ответ

0 голосов
/ 12 октября 2019

Метод cur.execute не будет перебирать список значений, вы должны попытаться использовать cur.executemany ().

Поэтому первым шагом будет создание списка кортежей. Каждый кортеж будет строкой для ввода в базу данных:

rows = [(trdcode[i], ltp[i], high[i]) for i in range(0, len(ltp))]

Затем вы передадите этот список методу cursor.executemany:

cursor.executemany(query, rows)
connection.commit()

Подробнее о курсорах вы можете прочитать здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...