【问题标题】:How to extract single field from Tiny DB search如何从 Tiny DB 搜索中提取单个字段
【发布时间】:2018-12-09 16:52:56
【问题描述】:

我填充我的数据库,然后进行搜索,我可以打印结果,但我想提取字段来填充标签或条目,我该怎么做? 这是我的代码

from tinydb import TinyDB, Query, where

db = TinyDB('rubrica.json')
def populate():
    Item1 = {'NAME': 'John', 'SURNAME': 'SMITH', 'PHONE': '1234'}
    Item2 = {'NAME': 'Bob', 'SURNAME': 'DEAN', 'PHONE': '5678'}
    Item3 = {'NAME': 'Jack', 'SURNAME': 'DEAN', 'PHONE': '9157'}

    db.insert(Item1)
    db.insert(Item2)
    db.insert(Item3)

def readall():
    for item in db:
        print(item)

def printsearch():
    results =db.search(where('SURNAME') == 'DEAN')
    print(*results, sep='\n')

printsearch()

【问题讨论】:

    标签: python tinydb


    【解决方案1】:

    您可以像这样获取任何字段的列表

    def getFieldData(fieldName):
        result = [r[fieldName] for r in db]
        return result
    
    print(getFieldData('NAME'))
    print(getFieldData('SURNAME'))
    

    【讨论】:

      【解决方案2】:

      非常好的建议,我解决了:

      def getFieldData(fieldName):
          results = db.search(where('SURNAME') == 'DEAN')
          result = [r[fieldName] for r in results]
          return result
      res = getFieldData('NAME')
      for name in res:
          print(name)
      

      【讨论】:

        猜你喜欢
        • 2020-06-16
        • 1970-01-01
        • 2023-04-05
        • 1970-01-01
        • 2015-01-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-20
        相关资源
        最近更新 更多