2017-06-28 9 views
1

Pythonでは、私はsqliteの設定行からすべてを選択するクエリを作成していますが、それはうまく動作しますが、配列に追加する文字列がむしろ奇妙に見えます。sqliteクエリから書式を削除する

私は私の配列にはなく、テキストファイルでから同じデータを追加するときこれは私の配列である:

ORC 
TROLL 
WORGEN 
DWARF 

が、私は私は私のsqliteのテーブルから追加されたデータから同じことをしようとした場合、私はこれを取得:

('ORC',) 
('TROLL',) 
('WORGEN',) 
('DWARF',) 

races = [] 

races = dbaction.execute("SELECT races FROM racetable;").fetchall() 
for item in racetable: 
    print(item) 

sqliteからの印刷をテキストファイルのものと同じに見えるようにするにはどうすればよいですか?問題はおそらくかなりシンプルですが、ほとんどの投稿がユニコードとutf-8について話しているので、私は信じる答えをGoogleに逃しています。

答えて

0

結果セットは2次元タプルです。 itemはタプルなので、特定の要素にアクセスするためのインデックスを与えます。

for item in racetable: 
    print (item[0]) 
1

項目は、クエリが複数の列を返すことができたときに理にかなっているすべての行、ためprint(item[0])

+0

うんざりした声援、何かが配列のようなときにはどういう意味ですか? – BIGFATTOBY

+0

これはあなたのリクエストに対する応答として単一の値ではなく、( 'race'配列の各項目に配列の何らかの種類の配列で)値の集合を得ることを意味します。したがって、インデックスで特定の値にアドレス指定する必要があります。例えば、 'SELECT races、rails'からのパイロットのようなSQLリクエストを作成し、各' race'項目で2つの値を得ることができます。 1つの値しか要求していませんが、結果は配列の1つの要素で構成されます。だから、インデックスを使ってそれに対処する必要があります。 – Vlad

1

のSQLite returnsaタプルを試し、配列のようです。配列を作成するには、

races = [race[0] for race in dbaction.execute("SELECT races FROM racetable;").fetchall()] 

リストの理解度を使用してください。

関連する問題