如何使用例如pypyodbc将MS Access表导出到Python中的csv文件中

如何使用例如pypyodbc将MS Access表导出到Python中的csv文件中,第1张

如何使用例如pypyodbc将MS Access表导出到Python中的csv文件中

考虑使用

cur.fetchall()
csv
模块直接输出查询结果,而无需附加到单个列表(并考虑避免这样做
print
以节省处理时间):

import pypyodbcimport csv# MS ACCESS DB CONNECTIONpypyodbc.lowercase = Falseconn = pypyodbc.connect(    r"Driver={Microsoft Access Driver (*.mdb, *.accdb)};" +    r"Dbq=C:tempTemp_DB.accdb;")# OPEN CURSOR AND EXECUTE SQLcur = conn.cursor()cur.execute("SELECt Column1, Column2, FROM Table1");# OPEN CSV AND ITERATE THROUGH RESULTSwith open('Output.csv', 'w', newline='') as f:    writer = csv.writer(f)        for row in cur.fetchall() :        writer.writerow(row)cur.close()conn.close()

另外-在上面,您正在连接到Jet / ACE SQL引擎(MSAccess.exe的对象,不仅限于该程序,但可用于所有Office / Windows程序)
-误称MS Access是一个数据库,但实际上是一个GUI控制台到一个
。或者,对于csv导出,您可以与GUI应用程序交互并运行Access的TransferText()方法以将表/查询导出为文本分隔文件。Python可以打开数据库并使用

win32com
模块调用export方法:

import win32com.client# OPEN ACCESS APP AND DATAbaseoApp = win32com.client.Dispatch("Access.Application")oApp.OpenCurrentDatabase('C:tempTemp_DB.accdb')# EXPORT TABLE TO CSVacExportDelim = 2oApp.DoCmd.TransferText(acExportDelim, None, "Table1", 'Output.csv'), True)oApp.DoCmd.CloseDatabaseoApp.QuitoApp = None


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5648377.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存