我有一个包含大表的数据库。通过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