私はそのようなリストを挿入したいが、はるかに大きい。 list=[{"name":"Tom","gender":"male",},{"name":"Jack","gender":"male",},{"name":"Lee","gender":"male",}]
をPythonを使用してMySQLにインポートしてテーブルを構築します。私はすでにMySQLdbをインポートしています。それではどうしたらいいですか?Pythonを使用してMySQLにdictのリストを挿入してください
答えて
あなたがテーブルに辞書のリストを挿入するためにexecutemany()
を使用する方法で、ここで、あなたはname
とgender
列を持つfoo
という名前のテーブルを持っていると仮定すると:
import MySQLdb
db = MySQLdb.connect(...)
cursor = db.cursor()
data = [
{"name":"Tom", "gender":"male"},
{"name":"Jack", "gender":"male"},
{"name":"Lee", "gender":"male"}
]
cursor.executemany("""
INSERT INTO foo (name, gender)
VALUES (%(name)s, %(gender)s)""", data)
db.commit()
ありがとう、それは有用です。しかし、自分のデータに使用するとうまくいきません。 – GUOJINGWEI
自分自身は次のようなものです:data = [dict1、dict2、dict3] dict1 = {"name": "Tom"、 "source":u'240907112_1333816867 '、' Title ':u' \ u300a \ u8ba4 \ u771f \ u7684 \ u300b '、 "_id":u'47092'}。MySQLで私はすでにテーブルを構築してプライマリキーとして_idを使用していますが、値がuであるためだと思います。 – GUOJINGWEI
@ GUOJINGWEI提案されたソリューションを実際のデータに適用しようとする際に別の質問を作成することが理にかなっているかどうかを確認してください。ありがとう。 – alecxe
あなたは本当にこれを狭くする必要があるとしていますダウン。この構造から、列名が一致するテーブルになっていますか? – tadman