2017-06-10 10 views
0

私は、Postgres表のスタッフ名が入ったFlaskにドロップダウンメニューを作成しています。私は、名前に加えてプライマリキーも使用しています。なぜなら私が使用しているフレームワークでは、データは次のようなタプルでなければならないからです:SQL Select Query(またはPython)を使用して特定の列データを一重引用符で囲みます。

staff_choices = [( ""、 "" 1' 、 'ジョン・ジェイコブス')、( '2'、 'ジョー・パプ')、( '3'、 'Lynのリノ')]

しかし、私は私の選択クエリを実行する場合:

SELECT * FROM radio_playlist.staff 

を生成される出力は次のようになります。***整数値に注意してください。

[[1, 'John Jacobs'], [2, 'Joe Pape'], [3, 'Lyn Lino']] 

これはドロップダウンを作成するときに問題を引き起こしているので、整数値の周りに引用符を自動的に追加する必要があります。SQLでの経験はほとんどありません。私は、これがもっと意味をなさないならば、出力が関数に保存された後、これをPythonで行うことにもオープンしています。

EDIT ***私は現在、psycopg2 fucntionsを使用して出力を生成するには、次のコマンドを実行している:上記psycopg2メソッドのデータを使用して

cur.execute("SELECT * FROM radio_playlist.staff") 
data = cur.fetchall() 

は出力が含まれています

[[1、「ジョンはジェイコブス]、[2、 'ジョー・パプ']、[3 'Lynのリノ']]

+1

pythonでstr型に変換してみませんか?私はcur.fetchall()のx、yの '[(str(x)、y)]のようなことをすることができると思います。 – Psidom

+0

私はPythonも新しくなっていますが、私は今あなたの提案をgoogleして、それを出す。ありがとう。 – treetop

+0

@Psidom - あなたはそれを釘付けにしました:) – treetop

答えて

0

あなたが好きな何かを行うことができます:

results = [] 
for row in c.execute('SELECT * FROM radio_playlist.staff'): 
    results.append([str(row[0]), row[1]]) 

... #do something with results 

結果を取得中にintstrに変換します。

+0

私はpsycopg2 fetchall()関数を考慮に入れて少し修正しましたが、これを使ってみました(これについては私のEDITセクションを参照してください)。それは二重引用符を間違った場所に置いてしまったが、これは次のようなものだった[「[1、 'John Jacobs']」、「[2、 'Joe Pape']] '' – treetop

関連する問題