尝试通过Python使用MySQLdb ...代码将列表导入MySQL。
我运行它时会得到一个ValueError -
sheets(myString).select
代码_
query = query % tuple([db.literal(item) for item in args])
ValueError: unsupported format character ',' (0x2c) at index 51
当我打印query_string时,语句看起来很好并且清理了#39;价值似乎很好 - 任何帮助都会受到赞赏。
import MySQLdb
import ystockquote
import re
mydb = MySQLdb.connect(host='localhost',
user= '****',
passwd='****',
db='****')
cur = mydb.cursor()
name = raw_input('please input a symbol_')
data = ystockquote.get_all(name)
stock = data.values()
clean = (", ".join(stock))
#var_string = ', '.join('?' * len(clean))
query_string = 'INSERT IGNORE INTO YAHOO VALUES (\"%s\");' % clean
cur.execute(query_string, clean)
print clean
答案 0 :(得分:1)
.execute
需要2个参数:
%s
%s
您无需手动“清理”您的值。我还在查询中包含了列名,以便明确:
data = ystockquote.get_all(name)
stock = data.values()
columns = data.keys()
columns[columns.index('change')] = '_change'
var_string = '%s' + ',%s' * (len(stock)-1))
query_string = '''
INSERT IGNORE INTO YAHOO
('''+','.join('`%s`' % (c,) for c in columns)+''')
VALUES (%s);''' % var_string
cur.execute(query_string, tuple(stock))