私はPyMySQLをしばらく使用していましたが、独自のラッパーを作成していました。それでも、私は注文を同じに保つ必要があるので、OrderedDictでCSVファイルを作成していましたが、データベースを照会するためにPyMySQLを使用すると、データベースが返す注文を取得できません。 CSVファイルをチェックするのはちょっと面倒ですが、手作業ではなくむしろダンプをしたいと思っています。PyMySQLとOrderedDict
私の質問は、PyMySQLとOrderedDictをどうやって使うのですか?次のように現在、私のコードは次のとおりです。私は照会するたびに
import pymysql
conn = pymysql.connect(host='localhost', user='root', passwd='', db='test')
cursor = conn.cursor(pymysql.cursors.DictCursor)
だから、私は戻って辞書を取得することがあります:私が欲しいもの
cursor.execute("""SELECT * FROM test""")
for row in cursor:
pp(row) # gives me dictionary
は、私は、カーソルを使用して転がるとき、私は実際に取得していますということですそれらがデータベースから来る順序での列のOrderedDict。
ような何か:あなたはcursors.DictCursorMixin
を使用し、そのdict_type
collections.OrderedDict
にを変更することができ
cursor = conn.cursor(pymysql.cursors.OrderedDict)
別の列を追加mnは、ソース行とそれを照会するときに順序を保持しますか? – Busturdust
@Busturdust - 私は自分のラッパーに "query_ordered"というような関数を書くことができます。リスト内の選択フィールドを持っていて、辞書の代わりにordereddictを生成するジェネレータを作成できます。それを書かずに、私のラッパーでもうまくいくでしょう、私はむしろそれを持っています。 – DataHerder