0

こんにちは私は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

何か案は??

ありがとう。

4

1 に答える 1

0

チェックチェックしてもう一度チェック!!

私はフィールドの数が異なっていました。

つまり、上記のエラーが発生した場合は、通常、csvの量が%sプレースホルダーと異なるためです。mysqlテーブルの列に違いがあると、列カウントエラーが発生します。

これを指摘するのを手伝ってくれたAdamMihalcinに感謝します!

于 2013-02-25T09:47:25.917 に答える