2011-12-20 103 views
0

有没有人有任何创建新Access数据库并将CSV文件(仅特定字段)导入数据库的示例?如何创建.MDB并使用Python将CSV导入到它中

感谢

+0

有,做相反的(读MDB并将其写入CSV)一职,但希望它可以让你开始:http://stackoverflow.com/questions/3620539/how-to-deal-with-mdb-access-files-with-python – plaes 2011-12-20 14:49:14

回答

1

这里是一个想法,一个链接进一步信息:

我没有测试创建一个新的mdb所以因人而异以下!

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

这里是一个link为Python和ADO工作的一些好的信息。

我希望这会有所帮助。

-M

对不起,我没有任何的例子为工作CSV入空MDB :(如果我带着什么,我将在稍后发布。

0

您可以使用PyPyODBC做到这一点。

创建访问mdb文件:

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

如果你愿意,你可以继续使用pypyodbc与ODBC接口连接到creatmdb文件,并操纵它们类似pyodbc:

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") 
相关问题