如何使用Python创建.MDB并将CSV导入其中

如何使用Python创建.MDB并将CSV导入其中,python,ms-access,csv,Python,Ms Access,Csv,是否有人有创建新Access数据库并将CSV文件(仅特定字段)导入数据库的示例 谢谢这里有一个想法和一个链接,可以获取更多信息: 我还没有测试过创建一个新的mdb所以ymmv import win32com.client eng=win32com.client.gencache.EnsureDispatch("DAO.DBEngine.36") eng.CreateDatabase("c:\\myNewAccessdB.mdb", win32com.client.constants.dbLang

是否有人有创建新Access数据库并将CSV文件(仅特定字段)导入数据库的示例


谢谢

这里有一个想法和一个链接,可以获取更多信息:

我还没有测试过创建一个新的mdb所以ymmv

import win32com.client
eng=win32com.client.gencache.EnsureDispatch("DAO.DBEngine.36")
eng.CreateDatabase("c:\\myNewAccessdB.mdb", win32com.client.constants.dbLangGeneral)
下面是一些使用python和ado的好信息

我希望这有帮助

~M


很抱歉,我没有任何将csv转换为空mdb的示例:(如果我有任何内容,我将在稍后发布。

您可以使用PyODBC来完成此操作

要创建Access mdb文件,请执行以下操作:

import pypyodbc
pypyodbc.win_create_mdb( "D:\\Your MDB file path.mdb" )
如果需要,可以继续使用pyodbc连接到creatmdb文件,并使用类似于pyodbc的ODBC接口操作它们:

conn = pypyodbc.connect(u'''Driver={Microsoft Access Driver (*.mdb)};DBQ='''+mdb_path
                    , unicode_results = True
                    , readonly = False)

cur = conn.cursor()
cur.execute ('Drop table pypyodbc_test_tabl')
cur.execdirect(u"""create table pypyodbc_test_tabl (ID integer PRIMARY KEY,product_name text)""")

...
cur.close()
conn.commit()
conn.close()
最后,压缩现有的Access mdb文件

pypyodbc.win_compact_mdb("D:\\The path to the original to be compacted mdb file"
                   ,"D:\\The path to put the compacted new mdb file")

有一篇文章的作用正好相反(读mdb并将其写入CSV),但希望它能让您开始: