Я пытаюсь вставить значения в базу данных Microsoft Access, используя Python.
Я могу вставить значения следующим образом:
df = pd.read_excel(xlsx, sheets[0])
for i in range(1, len(sheets)):
data = []
data = pd.read_excel(xlsx, sheets[i])
df = df.append(data)
k = (df.iat[3,0])
conn = pyodbc.connect(r'Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ= \\.....\Stat_tracker.accdb;')
cursor = conn.cursor()
cursor.execute("INSERT INTO ABCD (Serial) VALUES ('xxxx')")
cursor.execute('select * from ABCD')
for row in cursor.fetchall():
print(row)
Я хочу использовать все oop для перебора нескольких записей. Есть ли лучший способ?
Когда я заменяю код cursor.execute
на
cursor.execute("INSERT INTO ABCD (Serial) VALUES (%s)",(k,))
Он возвращает следующую ошибку:
pyodb c .ProgrammingError: ('42000', "[42000] [Microsoft] [ODB C Драйвер Microsoft Access] Синтаксическая ошибка в выражении запроса "% s". (-3100) (SQLPrepare) ")
Очевидно, я что-то упускаю при использовании %s
. Возможно, есть другой заполнитель?
Это должно быть простое исправление Я просто слишком незнаком с синтаксисом.
Помогите новичку ie out?