0

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

一般来说,当您不太确定 Tiny Db 数据库包含什么内容时,我正在寻找有关如何检查 Tiny Db 数据库的提示。

4

1 回答 1

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
于 2014-11-29T02:55:17.690 回答