0
您好我纔剛剛開始使用Python,錯誤導入CSV時到MySQL使用Python
我寫了這個.py文件用一個簡單的測試,並一直很好,但是當我只是單純地增加了更多的%s的它炸彈的出有:
錯誤: File "/usr/lib/pymodules/python2.7/MySQLdb/cursors.py", line 159, in execute query = query % db.literal(args) TypeError: not enough arguments for format string
的Python腳本:
import csv
import MySQLdb
mydb = MySQLdb.connect(host='localhost',
user='root',
passwd='******',
db='kestrel_keep')
cursor = mydb.cursor()
csv_data = csv.reader(file('data_csv.log'))
for row in csv_data:
cursor.execute('INSERT INTO `heating` VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,)',
row)
#close the connection to the database.
mydb.commit()
cursor.close()
import os
print "Done"
CSV文件格式:
2013-02-21,21:42:00,-1.0,45.8,27.6,17.3,14.1,22.3,21.1,1,1,2,2
2013-02-21,21:48:00,-1.0,45.8,27.5,17.3,13.9,22.3,20.9,1,1,2,2
任何想法?
謝謝。
您在調用'cursor.execute'時有14'%s'佔位符,但樣本CSV文件的每一行只有13個項目。這可能是一個開始的好地方。 – 2013-02-24 17:46:48
是的,當我刪除最後一個我得到列計數錯誤??? – ZeroG 2013-02-24 17:48:18
數據庫加熱表中有多少列?你可以通過運行'mysql'命令行客戶端並執行'DESC heating'語句來找到。 – 2013-02-24 17:50:46