如何创建.mdb文件?

时间:2019-06-21 10:48:44

标签: python hdf5 lmdb zarr

我是zarr,HDF5和LMDB的新手。我已经将数据从HDF5转换为Zarr,但是我得到了许多扩展名为.n(n从0到31)的文件。我只想拥有一个扩展名为.zarr的文件。我尝试使用LMDB(zarr.LMDBStore函数),但是我不明白如何创建.mdb文件?你有一个想法怎么做? 谢谢!

3 个答案:

答案 0 :(得分:0)

您可能希望对使用的方法有一个Access DAO / ADO / VBA参考,但是由于comtypes模块动态生成COM库包装,因此没有内置文档。

这是它如何工作的简短示例。 (继续自己进行测试。)

from comtypes.client import CreateObject

access = CreateObject('Access.Application')

from comtypes.gen import Access

DBEngine = access.DBEngine
db = DBEngine.CreateDatabase('test.mdb', Access.DB_LANG_GENERAL)
      # For me, test.mdb was created in my My Documents folder when I ran the script 

db.BeginTrans()

db.Execute("CREATE TABLE test (ID Text, numapples Integer)")
db.Execute("INSERT INTO test VALUES ('ABC', 3)")

db.CommitTrans()
db.Close(

(在以前不存在用于类型库的Python包装器模块的情况下,将第二个import语句移动到CreateObject行之后。)

答案 1 :(得分:0)

@kish尝试您的解决方案时出现此错误:

来自comtypes.gen导入访问 ImportError:无法导入名称“访问”

答案 2 :(得分:0)

documentation for the LMDBStore class中有一些使用LMDB作为Zarr存储的示例。例如:

>>> store = zarr.LMDBStore('data/group.mdb')
>>> root = zarr.group(store=store, overwrite=True)
>>> foo = root.create_group('foo')
>>> bar = foo.zeros('bar', shape=(10, 10), chunks=(5, 5))
>>> bar[...] = 42
>>> store.close()  # don't forget to call this when you're done

您无需执行上述任何操作即可创建.mdb文件,该文件将自动创建。