10

Python スクリプト内の MySQL テーブルに Python 変数を挿入しようとしていますが、うまくいきません。これが私のコードです

add_results=("INSERT INTO account_cancel_predictions"
            "(account_id,21_day_probability,flagged)"
            "Values(%(account_id)s,%(21_day_probability)s,%(flagged)s)")

data_result={
    'account_id':result[1,0],
    '21_day_probability':result[1,1],
    'flagged':result[1,2]
}

cursor.execute(add_results,data_result)

cnx.commit()
cursor.close()
cnx.close()

これはエラーを取得します

ProgrammingError: Failed processing pyformat-parameters; 'MySQLConverter' object has no attribute '_float64_to_mysql'

ただし、変数名result[1,0]result[1,1]、およびresult[1,2]を実際の数値に置き換えると、機能します。Python は、変数が保持する値ではなく、実際の変数名を渡していると思われます。これを修正するにはどうすればよいですか?

4

3 に答える 3

7

numpy.float64渡された値の 1 つが、MySQL コネクタによって認識されないタイプである可能性があります。floatdict に入力する際に​​、本物の python にキャストします。

于 2013-07-09T22:49:07.107 に答える