使用Python将MS Access表直接导出到csv

时间:2016-03-29 10:18:45

标签: python csv ms-access

我有一个包含大表的数据库。通过pyodbc加载和处理它们需要很长时间,所以没有选择。

目前我手动将更新的表从MS Access导出到.csv,然后将它们加载到python中。

现在我想通过python自动化这个过程。我见过类似的问题here

我的代码:

    import os
    import win32com.client

    current_PATH = os.getcwd()
    db_PATH = current_PATH+"\\database.accdb;"

    oApp = win32com.client.Dispatch("Access.Application")
    oApp.OpenCurrentDatabase(db_PATH)

    acExportDelim = 2
    oApp.DoCmd.TransferText(acExportDelim, None, "table_to_export", 'Output.csv', True)

    oApp.DoCmd.CloseDatabase
    oApp.Quit
    oApp = None

但我得到的回应是:

    Traceback (most recent call last):
    File "C:\Users\...\export_script.py", line 9, in <module>
    oApp.OpenCurrentDatabase(db_PATH)
    File "<COMObject Access.Application>", line 3, in OpenCurrentDatabase
    File "C:\Anaconda3\lib\site-packages\win32com\client\dynamic.py", line 282, in _ApplyTypes_
    result = self._oleobj_.InvokeTypes(*(dispid, LCID, wFlags, retType, argTypes) + args)
    [Finished in 6.9s with exit code 1]

将表格导出为.csv的正确方法是什么?

编辑:这就是我的测试表的样子: test_table

0 个答案:

没有答案