1
の取り扱いは、ここにコードがある:MySQLdbはとPython KeyError例外は、私は、MySQLのテーブルに複数の値を追加しようとしています
Try:
cursor.execute("INSERT INTO companies_and_charges_tmp (etags, company_id, created, delivered, satisfied, status, description, persons_entitled) VALUES ('%s, %s, %s, %s, %s, %s, %s, %s')" % (item['etag'], ch_no, item['created_on'], item['delivered_on'], item['satisfied_on'], item['status'], item['particulars'][0]['description'], item['persons_entitled'][0]['name']))
Except KeyError:
pass
問題は、このコードは、ループ内で、時代beiingある値のいずれかであることです挿入された文字列が欠けてしまい、挿入全体をキャンセルするキーエラーが発生します。
KeyErrorをどのように回避すればよいのですか?挿入されているアイテムのうちの1つに関連するKeyErrorが発生しても、テーブルに追加されたKeyErrorがあり、欠落しているアイテムはNULLのままです。
が魅力のように働いた、ありがとうございました!ただ好奇心が強い、なぜあなたは説明と名前を別々に扱わなければならなかったのですか? –
申し訳ありませんが、私はこれを早すぎると言いました。今、私はループを介して実行しているとき私はこのエラーが発生しています:割り当ての前にローカル変数 'item'が参照されました –
@ KamilMieczakowskiは、サブディクショナリからアイテムを取得することを含むので、別名と説明を別々に扱わなければなりませんでした。あなたはそれを使用している前に 'アイテム'を定義しています。ありがとう。 – alecxe