最近我使用python模块dataset来操作和存储信息。结果,我有一个sqlite数据库的集合,比如说file1.db,file2.db等等。而且,每个数据库都包含相同的表。
使用数据集,我可以使用代码轻松连接和检查数据库:
>>> db1 = dataset.connect('sqlite:////path/file1.db')
>>> table1 = db1[u'tweet']
假设我想在许多文件中保留数据库,那么用数据集检查所有数据库的首选方法是什么?
我正在寻找更好的东西:
>>> db1 = dataset.connect('sqlite:////path/file1.db')
>>> db2 = dataset.connect('sqlite:////path/file2.db')
>>> tables = [db1[u'tweet'],db2[u'tweet']]
>>> for table in tables:
for tweet in table:
print(tweet['text'])
答案 0 :(得分:0)
我不知道一个干净的解决方案,但在这种情况下使用内存中的SQLite数据库可能会很有趣:
mem_db = dataset.connect('sqlite:///')
databases = ['sqlite:////path/file1.db']
for uri in databases:
db1 = dataset.connect(uri)
for row in db1['table']:
mem_db.insert(row)
我相信还有一个insert_many调用,对于批量传输来说可能更快。