Как мне создать .MDB и импортировать в него CSV с помощью Python - PullRequest
1 голос
/ 20 декабря 2011

У кого-нибудь есть примеры создания новой базы данных Access и импорта файла CSV (только определенные поля) в базу данных?

Спасибо

Ответы [ 2 ]

1 голос
/ 29 сентября 2012

Вы можете использовать PyPyODBC для этого.

Чтобы создать файл mdb для доступа:

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

Если вы хотите, вы можете продолжать использовать pypyodbc для подключения к файлам creatmdb иманипулируйте ими с помощью интерфейса ODBC, аналогичного 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()

Наконец, для сжатия существующего файла MDB Access

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")
1 голос
/ 20 декабря 2011

Вот идея и ссылка для дальнейшей информации:

Я не проверял следующее для создания новой базы данных, так что 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 :( Если я приду с чем-либо, я опубликую позже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...