是否有可能从TinyDB请求密钥

时间:2014-11-28 23:17:23

标签: python tinydb

如何找出tinydb数据库包含的内容,有点像在SQL中使用DESCRIBE name_of_table;或在字典上调用keys()来查询表的列。

一般情况下,我正在寻找有关如何检查Tiny Db数据库的提示,当您不确定它包含什么时。

1 个答案:

答案 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