2017-02-07 14 views
0

次のコードを使用してSQL Serverデータベースにクエリを行い、返された結果をCSVファイルに保存しています。pypyodbcを使用して作成したCSVファイルをフォーマットする

import pypyodbc 
import csv 

connection = pypyodbc.connect('Driver={SQL Server};' 
          'Server=localhost;' 
          'Database=testdb;') 
cursor = connection.cursor() 

SQLCommand = (""" SELECT A as First, 
        SELECT B as Second, 
        FROM AB """) 

cursor.execute(SQLCommand) 
results = cursor.fetchall() 

myfile = open('test.csv', 'w') 
wr = csv.writer(myfile,dialect='excel') 
wr.writerow(results) 

connection.close() 

SQLコマンドは単なるサンプルです、私のクエリは、これは単なる一例のためである、より多くの列が含まれています。

enter image description here

しかし、私は私のCSVがそう見えるようにしたい、とプラス私はこのように、同様のヘッダを表示する:このコードで

は、私のCSVは次のようになります enter image description here

私は、コードの 'csv.writer'部分で書式設定を行う必要があると思っていますが、私はそれを理解できないようです。誰かが私を導くことができますか?

答えて

0

fetchallが複数の行の出力を返しますが、writerowsの代わりにwriterowを使用しているため、それらを破棄すると、その奇妙な出力が表示されます。実際の結果を出力するには、writerowを使用して列見出しの1行を出力し、次にwriterowsを出力する必要があります。

関連する問題