[:field_count] 提示名字没有定义

无名利 发布于 2014/07/25 11:20
阅读 808
收藏 0
#importdata.py
import sqlite3

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

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

curs.execute('''
drop table food
create table food(
  id text primary key,
  desc text,
  water text,
  kcal float,
  protein float,
  fat float,
  ash float,
  carbs float,
  fiber flloat,
  sugar float)
''')

query = 'insert into food values(?,?,?,?,?,?,?,?,?,?)'

for line in open('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 "importdata.py", line 35, in <module>
    vals = [convert(f) for f in fields[:field_count]]
NameError: name 'field_count' is not defined

这里面的field_count没有定义,该如何定义呢?





加载中
0
JonyQ
JonyQ
field_count 应该是定义好的字段数,insert字段10个,设置为10。
[convert(f) for f in fields[:10]]
返回顶部
顶部