2016-03-21 136 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

是啊其實我試圖刪除單引號使用 –