2016-08-31 3 views
0

私の用語が正しくない場合は、私を許してください。私はこれを持っている:PythonはSQLiteテーブルから選択したフィールドのみをファイルに出力できます

CREATE TABLE table1 (field1 TEXT, field2 TEXT, field3 TEXT); 

私はテキストファイルに行ごとのフィールド1とフィールド3からの情報だけを印刷したいです。私が試したことは次のとおりです:

操作はエラーなく終了しますが、テキストファイルはまだ空です。私はした

SELECT field1 FROM table1 

sqliteシェルとデータがあります。

最終的には、最終的にファイル内の行ごとに複数のフィールドを1行にパイプしたいと考えています。私はまた、私がこのように引っ張ることを選択した各フィールドの値の最初と最後にテキストを入れたい。

アドバイスや指示が役に立ちます。この操作はPythonで行う必要はありません。私も、SQLiteのコマンドと一緒にそれを行う方法を理解することができればOKです。

ありがとうございます!

編集:私ははい、この上の変化は私が探してかもしれないと思う?:https://stackoverflow.com/questions/10522830/how-to-export-sqlite-to-csv-in-python-without-being-formatted-as-a-listf

答えて

1

あなたが正しいオブジェクトに反復されていません私見。

for row in c.execute(sqlF1): 
    e.write('%s\n' % row) 

the docsの例を参照してください。

+0

これは機能します。しかし、次のような列/フィールドを追加すると、SELECT field1、field3、FROM table1というエラーが表示されます。「TypeError:文字列フォーマット中にすべての引数が変換されません」というメッセージが表示されます。 –

+0

2つのカラムを書くときなどにf.write( "%s%s \ n"%row) "行"変数はPythonタプルです。 –

+0

それは素晴らしいです、ありがとう!フィールドの1つは整数です。例field1テキスト、field2整数、field3テキスト。 %s%d%s、%s \ nを書きましたが、数字が必要なエラー%d形式があります(フィールドに数字があります) –

関連する問題