这是我的代码(来自" Python for Data Analysis" book):
import sqlite3
query = """ CREATE TABLE test (a VARCHAR(20), b VARCHAR(20)), c REAL, d INTEGER); """
con = sqlite3.connect('mydata.sqlite')
con.execute(query)
这是我得到的错误:
OperationalError Traceback (most recent call last)
<ipython-input-223-702795376e74> in <module>()
1 con = sqlite3.connect('mydata.sqlite')
----> 2 con.execute(query)
OperationalError: near ",": syntax error
我尝试使用代码周围的单引号和三引号,检查逗号,但我无法弄清楚什么是错误的。
答案 0 :(得分:2)
你检查括号了吗? 我可以看到3开(和4关)。
您似乎需要删除b VARCHAR(20))
答案 1 :(得分:1)
试试这个
query = "CREATE TABLE test (a VARCHAR(20), b VARCHAR(20), c REAL, d INTEGER)";
而不是你的
答案 2 :(得分:1)
始终统计您的括号,此处不需要三倍"
。
import sqlite3
query = " CREATE TABLE test (a VARCHAR(20), b VARCHAR(20), c REAL, d INTEGER); "
con = sqlite3.connect('mydata.sqlite')
con.execute(query)
答案 3 :(得分:1)
你正在使用熊猫 - 你不需要照顾&#34;创建表...&#34;的东西。熊猫为你做到了:
In [100]: df = pd.DataFrame(np.random.randint(5,size=(5,3)), columns=list('abc'))
In [101]: df
Out[101]:
a b c
0 1 0 0
1 0 0 3
2 0 4 1
3 0 2 0
4 0 3 1
In [102]: conn = sqlite3.connect('c:/temp/test.sqlite')
In [103]: df.to_sql('test', conn, index=False)
In [104]: df2 = pd.read_sql('select * from test', conn)
In [105]: df2
Out[105]:
a b c
0 1 0 0
1 0 0 3
2 0 4 1
3 0 2 0
4 0 3 1