私は辞書のリストの辞書を持っています。なぜ私はこの奇妙なアプローチを選んだのですか? これは、大規模な Web ページのさまざまなセクションをさまざまな辞書に保存している Web スクレイピングの取り組みの一部です。データを追跡するための列名があります。Python 2.6.6 を使用しているため、dicts を注文していません。
このデータを保存するより効率的な方法は何ですか (mysql の辞書)? Web サイトをスクレイピングするたびに、さらに処理するためにデータを保存する一時テーブルを作成します。最初に ID のレコードを作成してから、その ID の列を更新します。それを行うためのより迅速で効率的な方法はありますか?ありがとうございました!
パイソン
import MySQLdb
db=MySQLdb.connect(db="mydb")
c=db.cursor()
mydict = {'1': [{'First': 'John', 'Last': 'Doe'}, {'Company': 'Trulia Inc.', 'Title': 'CEO', 'YearsattheCompany': 4}, {'Cell': '216-453-4322', 'Home': None}]}
for key, value in mydict.items():
id = key
c.execute("insert into deldictmysql (id) values (%s)" % id)
for eachdict in value:
print eachdict
for finalkey, finalvalue in eachdict.items():
print finalkey, finalvalue
if finalvalue:
query = "update deldictmysql set %s = '%s'"
c.execute(query % (finalkey, finalvalue))
c.close()
MySQL
create table deldictmysql (id integer, first varchar(40), last varchar(40), company varchar(200), title varchar(200), yearsatthecompany integer, cell varchar(20), home varchar(20));
出力
select * from deldictmysql;
"id" "first" "last" "company" "title" "yearsatthecompany" "cell" "home"
"1" "John" "Doe" "Trulia Inc." "CEO" "4" "216-453-4322" ""