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

时间:2011-12-20 14:01:12

标签: python ms-access csv

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

由于

2 个答案:

答案 0 :(得分:1)

这是一个想法和更多信息的链接:

我没有测试以下内容来创建一个新的mdb,所以ymmv!

import win32com.client
eng=win32com.client.gencache.EnsureDispatch("DAO.DBEngine.36")
eng.CreateDatabase("c:\\myNewAccessdB.mdb", win32com.client.constants.dbLangGeneral)

以下是使用python和ado的一些好信息的link

我希望这会有所帮助。

- M

抱歉,我没有任何将csv用于空mdb的示例:(如果我带来任何我稍后会发布的内容。

答案 1 :(得分:1)

您可以使用PyPyODBC来执行此操作。

创建Access mdb文件:

import pypyodbc
pypyodbc.win_create_mdb( "D:\\Your MDB file path.mdb" )

如果需要,可以继续使用pypyodbc连接到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")