をフェッチカーソルが、私が実行します。のPython、MySQLとMySQLデータベースの接続にクエリステートメントを実行した後のマップ
rows = cursor.fetchall()
これは、配列の配列を提供します。私は各辞書が私のテーブルの要求された列名からキーを取り出し、テーブルから値を関連付ける辞書の配列を持っていたいと思います。
どうすればよいですか?
をフェッチカーソルが、私が実行します。のPython、MySQLとMySQLデータベースの接続にクエリステートメントを実行した後のマップ
rows = cursor.fetchall()
これは、配列の配列を提供します。私は各辞書が私のテーブルの要求された列名からキーを取り出し、テーブルから値を関連付ける辞書の配列を持っていたいと思います。
どうすればよいですか?
まあ、あなたはあなたが使用しているmysqlライブラリについて言及するのを忘れました。
(私は、それは確かに最高の一つですお勧めします)oursqlを使用している場合、oursql's DictCursor
を使用しています。例:
conn = oursql.connect(...)
curs = conn.cursor(oursql.DictCursor)
MySQLdbを使用している場合(?なぜ)MySQLdb's DictCursor
を使用してください。例:それをやって
conn = MySQLdb.connect(..., cursorclass=MySQLdb.cursors.DictCursor)
curs = conn.cursor()
はあなたの各行に対してdictsを返すカーソルを提供します。あなたの質問に重複したrownamesを持たないことを忘れないでください。
ちょうどこれも見つかったので、すぐに+1して受け入れてください。サンプル構成: 'カーソル= db.cursor(MySQLdb.cursors.DictCursor)' – SK9
'MySQLdb.connect(...、cursorclass = MySQLdb.cursors.DictCursor)' MySQLdbにはカーソル属性がないので動作しません_after_接続が行われます。 SK9sのバージョン 'cursor = db.cursor(MySQLdb.cursors.DictCursor)'は動作します。システムMySQLdbでUbuntu 10.4でテストされました。 – jeorgen
@jeorgen公式ドキュメントのhttp://mysql-python.sourceforge.net/MySQLdb.html#mysqldbにあるように、 'cursorclass'キーワードパラメータを' connect() '呼び出しに渡すことができます。それはここで働く。もしあなたが失敗しているのであれば、他の理由があるかもしれません。別の質問をしてください。 – nosklo
タプルのリストを返します。配列は関与していません。また、*マップ*はありません。それらはディクテーションです。 – nosklo