【问题标题】:Save MS Access tables as CSV将 MS Access 表另存为 CSV
【发布时间】:2016-11-16 16:04:58
【问题描述】:

我是 Python 新手,请求您的帮助。我在 MS Access 数据库中有五个表,我需要为每个表编译一个 CSV 文件。其中一个表是 Perm_Reviews,它是 sn-p 的一部分。幸运的是,我能够查询 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'

【问题讨论】:

  • 简单的解决方案是选择所有列,它们之间有一个硬编码的逗号:SELECT col1, ',', vol2, ',', col3... FROM Perm_Reviews;。如果您的列可以包含逗号,那就更复杂了。

标签: python csv ms-access pyodbc


【解决方案1】:

我想这就是你要找的。​​p>

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()

【讨论】:

    【解决方案2】:

    Python 有一个内置的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'})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-15
      • 1970-01-01
      • 2020-03-07
      • 1970-01-01
      • 2017-03-30
      • 1970-01-01
      • 2023-03-12
      相关资源
      最近更新 更多