当前位置:首页 > 数据库 > SQlite

sqlite3“OperationalError:near”(“:语法错误”python

简单地说我正在尝试制作一个sql数据库表并将数据输入其中.我让它以更简单的方式工作,但是当我将它放入我的脚本时会导致此错误.我希望我错过了一些简单的东西.任何帮助/建议将不胜感激.

conn = sqlite3.connect('Data1.db')

c = conn.cursor()

# Create table
c.execute('''CREATE TABLE Data_Output6
         (date text, output6MV real)''') 

Averages_norm = []

for i, x in enumerate(Averages):
    Averages_norm.append(x*output_factor)
    c.execute("INSERT INTO Data_Output6 VALUES (%r,%r)" %(xdates[i],Averages_norm[-1]))
conn.commit()

导致错误:

57     for i, x in enumerate(Averages):
58         Averages_norm.append(x*output_factor)
---> 59         c.execute("INSERT INTO Data_Output6 VALUES (%r,%r)"%(xdates[i],Averages_norm[-1]))
60     conn.commit()
61 

OperationalError:接近“(”:语法错误

解决方法:

简单地说,让DB API进行格式化:

c.execute("INSERT INTO Data_Output6 VALUES (?, ?)", (xdates[i], Averages_norm[-1]))

并参考文档https://docs.python.org/2/library/sqlite3.html中提到的内容:

Instead, use the DB-API’s parameter substitution.


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!