如何找出 tinydb 数据库包含的内容,有点像使用 SQL 查询表的列DESCRIBE name_of_table;
或在字典上调用 keys()。
一般来说,当您不太确定 Tiny Db 数据库包含什么内容时,我正在寻找有关如何检查 Tiny Db 数据库的提示。
Tinydb 完全适合内存,因此可以调用 .all()、获取数据并进行一些统计。下面是转储每个文档类型的每个表的 db 结构的代码,由一组键定义:
from tinydb import TinyDB
from collections import Counter
db = TinyDB('db.json')
for table in db.tables():
contents = db.table(table).all()
schema = Counter(frozenset(doc.keys()) for doc in contents)
print('table %s (documents %d):' % (table, sum(schema.values())))
for fields, count in schema.iteritems():
print(' document (count %d):' % count)
print('\n'.join(' %s' % field for field in fields))
样本输出:
table _default (documents 36):
document (count 15):
foo
bar
document (count 21):
int
char