如何找出tinydb数据库包含的内容,有点像在SQL中使用DESCRIBE name_of_table;
或在字典上调用keys()来查询表的列。
一般情况下,我正在寻找有关如何检查Tiny Db数据库的提示,当您不确定它包含什么时。
答案 0 :(得分:3)
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