8

本当に簡単な作業のように思えますが、適切に行うのは困難です。

私のSQLクエリは次のようになります。

self.link = self.db.cursor(pymysql.cursors.DictCursor);
self.link.execute("SELECT * FROM crawler_data WHERE id=%d" % id_crawl)

そして、次の方法で列にアクセスしたい:

row = self.link.fetchall()
if row["address"]:
    self.address = self.filterAddress(row["address"])

エラーが発生します"list indices must be integers, not str"

を印刷するrowと、次の構造が返されます。

{u'address': 'Address Value', u'domain': 'Domain Value'}

「アドレス」文字列にアクセスするにはどうすればよいですか?

4

2 に答える 2

4

fetchall() の結果は辞書のリストになります。あなたの例では、文字列にアクセスします

results = self.link.fetchall()
row = results[0]
self.address = self.filterAddress(row["address"])
于 2014-10-16T09:41:22.047 に答える