2016-03-21 139 views
0

我有列表,而不是一些值。我想分割列表的值并插入到不同的列中。将列表的值插入到mysql的不同列Python

def insert_data(daftar): 
query = "INSERT INTO citra(img_source,fitur_0,fitur_1,fitur_2,fitur_3,fitur_4,fitur_5) " \ 
     "VALUES(%s,%s,%s,%s,%s,%s,%s)" 
try: 
    db_config = read_db_config() 
    conn = MySQLConnection(**db_config) 
    cursor = conn.cursor() 
    cursor.executemany(query, daftar) 
    conn.commit() 
except Error as e: 
    print('Error:', e) 
finally: 
    cursor.close() 
    conn.close() 

def main(): 
for x in range(len(list)): 
    list[x] 
result = str(list).strip('[]') 
daftar = [(file,result)] 
print daftar 
insert_data(daftar) 

if __name__ == '__main__': 
main() 
当我编译代码

[('E:/py/BatikTest/B43_1.jpg', '0, 0, 0, 92, 57, 5')] 

我有错误

('Error:', ProgrammingError(-1, 'Not enough parameters for the SQL statement', None))

我觉得值仍然在一个列表中。是可以分割值并插入到不同的列?

回答

0

[('E:/py/BatikTest/B43_1.jpg', '0, 0, 0, 92, 57, 5')]

删除引号。正确的代码是:

[('E:/py/BatikTest/B43_1.jpg', 0, 0, 0, 92, 57, 5)] 
+0

看着insert_data函数,它可能甚至需要没有括号...例如, '('E:/py/BatikTest/B43_1.jpg',0,0,0,92,57,5)' –

+0

是啊其实我试图删除单引号使用 –