Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python sqlite3.0错误:接近-&引用;:语法错误_Python_Sqlite_Cursor - Fatal编程技术网

python sqlite3.0错误:接近-&引用;:语法错误

python sqlite3.0错误:接近-&引用;:语法错误,python,sqlite,cursor,Python,Sqlite,Cursor,我知道还有其他类似的问题,但我找不到有效的解决方案。我的桌面上有一个db文件,我从db文件中获取db列名。我从一个与DB文件具有相同列名的excel文件创建值列表,然后尝试使用下面的脚本更新数据库文件,但标题中不断出现错误。这在周一起作用了。。。现在它抛出了这个错误 values = ['111-222-333-44', 'xxxxx', '8W 1 CPD FR with ESD Guard', 'STEVES Power INC', '6.01', '9.05', 'beach',

我知道还有其他类似的问题,但我找不到有效的解决方案。我的桌面上有一个db文件,我从db文件中获取db列名。我从一个与DB文件具有相同列名的excel文件创建值列表,然后尝试使用下面的脚本更新数据库文件,但标题中不断出现错误。这在周一起作用了。。。现在它抛出了这个错误

    values = ['111-222-333-44', 'xxxxx', '8W 1 CPD FR with ESD Guard', 'STEVES Power INC', '6.01', '9.05', 'beach', 'None', '7000008']
    #values is autocreated but here is the list
    conn = sqlite3.connect(databasefile)

    cursor = conn.execute('select * from powersupplies')
    names = list(map(lambda x: x[0], cursor.description))
    col_names = ', '.join(names)
    print col_names

    col_spaces = ','.join(['?'] * len(names))
    print col_spaces
    c = conn.cursor()

    sql = 'INSERT INTO powersupplies (%s) values(%s)' % (col_names, col_spaces)
    c.execute(sql, values)

    conn.commit()
    conn.close()
cursor=conn.execute('select*from powersupplies')

这条线在这里。如果您选择的这些值中有一个是“-”,那么这可能是您的问题。我以前也遇到过这个错误,去掉破折号对我来说已经解决了

但是,其他人可能会为您提供更好的解决方案,让您了解如何包含它们