2 m8o0l9u0 m8o0l9u0_ 于 2014.07.31 17:25 提问

初学者python 'str' object has no attribute 'vals' 怎么解决啊

代码如下
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()

try:
curs.execute('''
CREATE TABLE food (
id TEXT PRIMARY KEY,
desc TEXT,
water FLOAT,
kcal FLOAT,
protein FLOAT,
fat FLOAT,
ash FLOAT,
carbs FLOAT,
fiber FLOAT,
sugar FLOAT
)
''')
except:
pass

query = 'INSERT INTO food VALUES (?,?,?,?,?,?,?,?,?,?)'

for line in open('ABBREV.txt'):
fields=line.split('^')
vals = [convert(f) for f in fields[:10]]
curs.execute(query. vals)

conn.commit()
conn.close()

错误代码 AttributeError: 'str' object has no attribute 'vals' 怎么办啊

3个回答

yin_peng
yin_peng   2015.10.18 22:12

把value与startswith中间的" . "改为 " , "

daweileo
daweileo   2014.08.02 21:47

curs.execute(query. vals) ???

这是要干啥?

query是一个字符串,vals上面算出来的列表

如果是想把vals追加到query后面,

query + ','.join(vals)

Dangdangcyuyan
Dangdangcyuyan   2017.10.12 16:47

这样的问题我也遇见过,就是字符对象没有识别的缘故

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!