brother_6
2017-09-21 14:12
采纳率: 100%
浏览 934
已采纳

python新手求助程序问题

各位大神好:
我在课本上抄了一段程序,想看看运行结果,运行时却报错,请帮忙查看是什么原因.
代码如下

 import sqlite3

def convert(value):
    if value.startswith('~'):
        return value.strip('~')
    if not value:
        value = '0'
    return float(value)

conn=sqlite3.connect('food.db')
curs=conn.cursor()

curs.execute('''
CREATE TABLE food (
  id      TEXT   PRIMARY,
  desc    TEXT,
  water   FLOAT,
  kcal    FLOAT,
  protein FLOAT,
  fat     FLOAT,
  ash     FLOAT,
  carbs   FLOAT,
  fiber   FLOAT,
  sugar   FLOAT
)
''')
query='INSERT INTO food VALUE (?,?,?,?,?,?,?,?,?,?)'
for line in open(r'C:\Users\wgh\Downloads\ABBREV.txt'):
    fields = line.split('^')
    vals=[convert(f) for f in fields[:field_count]]
    curs.execute(query,vals)

conn.commit()
conn.close()

报错内容如下:
Traceback (most recent call last):
File "E:/python/Lib/site-packages/importdata.py", line 26, in
''')
sqlite3.OperationalError: near ",": syntax error

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • crazyskady 2017-09-22 06:55
    已采纳

    是PRIMARY KEY不是PRIMARY

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • threenewbee 2017-09-22 01:03

    你的数据库到底是sqllite(db)还是txt的?
    你这个不是python而是sql的问题

    评论
    解决 无用
    打赏 举报
  • 纳尔逊皮卡丘 2017-09-22 13:49

    sql语句的语法错误,id主键,应该是PRIMARY KEY

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题