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