2016-11-16 10 views
0

私はPythonを初めて使用しています。 MS Accessデータベースに5つのテーブルがあり、それぞれのテーブルのCSVファイルをコンパイルする必要があります。テーブルの1つはPerm_Reviewsです。これはスニペットの一部です。幸いにも、私はMS Accessのデータを照会でき、データベースから関連する行と列を返します。誰かがテーブルをCSVファイルとして保存する方法についての支援をしてください。MS AccessテーブルをCSV形式で保存します

import pyodbc 
import csv 

conn_string = ("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=T:\\DataDump\\7.18.2016 PCR etrakit.accdb") 

save_csv = 'C:\Desktop\CSVFiles' 

conn = pyodbc.connect(conn_string) 

cursor = conn.cursor() 

SQL = 'select * from Perm_Reviews;' 

for row in cursor.execute(SQL): 
    print row 

cursor.close() 
conn.close() 

print 'All done for now' 
+0

簡単な解決策は、ハードコードさカンマで、すべての列を選択することであろう'SELECT col1、 '、'、vol2、 '、' col3 ... FROM Perm_Reviews;'のようになります。あなたの列にカンマを入れることができれば、もっと複雑になります。 –

答えて

1

私はこれがあなたが探しているものだと思います。

import pyodbc 
import csv 

conn_string = ("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=T:\\DataDump\\7.18.2016 PCR etrakit.accdb") 

conn = pyodbc.connect(conn_string) 

cursor = conn.cursor() 

cursor.execute('select * from Perm_Reviews;') 

with open('Perms_Review.csv','w') as f: 
    writer = csv.writer(f) 
    writer.writerows([i[0] for i in cursor.description]) 
    writer.writerows(cursor) 

cursor.close() 
conn.close() 
+0

ありがとうございました! –

0

Pythonは組み込みのあなたはヘッダを持つCSVファイルに簡単な例の下、容易に使用することができますcsvモジュールがあります。

import csv 

with open('names.csv', 'w') as csvfile: 
    fieldnames = ['first_name', 'last_name'] 
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames) 

    writer.writeheader() 
    writer.writerow({'first_name': 'Baked', 'last_name': 'Beans'}) 
    writer.writerow({'first_name': 'Lovely', 'last_name': 'Spam'}) 
    writer.writerow({'first_name': 'Wonderful', 'last_name': 'Spam'}) 
関連する問題