如何使用Python创建.MDB并导入CSV文件
有没有人能给个例子,说明怎么创建一个新的Access数据库,并把一个CSV文件(只导入特定的字段)导入到这个数据库里?
谢谢!
2 个回答
1
你可以使用 PyPyODBC 来实现这个功能。
如果你想创建一个 Access 的 mdb 文件,可以使用下面的代码:
import pypyodbc
pypyodbc.win_create_mdb( "D:\\Your MDB file path.mdb" )
如果你愿意的话,可以继续使用 pypyodbc 来连接刚创建的 mdb 文件,并通过类似 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")
2
这里有一个想法和一个链接供你进一步了解:
我还没有测试下面的方法来创建新的mdb文件,所以效果可能会有所不同!
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文件的例子 :( 如果我有任何新的想法,我会再发布的。