【问题标题】:How to print a value in Python that is inside a Json in MongoDB object如何在 Python 中打印 MongoDB 对象中 Json 内的值
【发布时间】:2018-10-03 09:53:13
【问题描述】:

我有这个 Json,我需要一个速率值。

 "_id" : ObjectId("5addb57d0043582d48ba898a"),
"success" : true,
"timestamp" : 1524477784,
"base" : "EUR",
"date" : "2018-04-23",
"rates" : {
    "AED" : 4.492662,
    "AFN" : 85.576329,
    "ALL" : 128.39508,
    "AMD" : 586.837094,
    "ANG" : 2.177608,
    "AOA" : 267.092358,
    "ARS" : 24.678283,
    "AUD" : 1.602032,
    "AWG" : 2.177639,
    "AZN" : 2.079155,
    "BAM" : 1.958775,
    "BBD" : 2.446786,
    "BDT" : 101.517146,
    "BGN" : 1.943843,
    "BHD" : 0.460968,
    "NOK" : 9.626194,
 }

这是我的 Python 代码

import pymongo

uri = "mongodb://127.0.0.1:27017"
client = pymongo.MongoClient(uri)
database = client['db']
collection = database['currency']
collection2 = database['countries']
p = str(input('Insert the country: ')).capitalize()

if p=='Norway':
currency = collection.find_one({'NOK'})
print(currency)

我想打印 de NOK 里面的值,我该怎么做? 提前致谢。

【问题讨论】:

    标签: python json pymongo


    【解决方案1】:

    您要做的是从集成到另一个字典中的字典中获取一个值。 JSON 返回是字典。

    我想集合变量包含 JSON 返回

    获取此数据的一种方法是调用字典并告诉它您希望字典返回什么键,因为“NOK”键在“rates”键中,我们将首先调用rates键,然后当字典返回了包含“NOK”键的字典,然后我们将“NOK”键传递给返回的字典,因此代码如下所示:

        currency = collection["rates"]["NOK"]
    

    执行此操作的另一种方法是使用 for 循环,它更长,但可以帮助您理解。

        for key in collection:
            if key == "rates":
                for keyRates in JSON[key]:
                    if keyRates == "NOK":
                         currency = JSON[key][keyRates]
    

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      我想你可以这样称呼它:

      currency = collection.find_one({"NOK"})
      print(currency['rates']['NOK'])
      

      【讨论】:

      • 它的工作原理是这样的:currency = collection.find_one({}) print(currency['rates']['NOK']) 谢谢!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-17
      • 2016-08-29
      • 1970-01-01
      • 1970-01-01
      • 2012-12-14
      相关资源
      最近更新 更多