簡體   English   中英

如何在MongoDB對象的Json內的Python中打印值

[英]How to print a value in Python that is inside a Json in MongoDB object

我有這個傑森(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中打印值,我該怎么做? 提前致謝。

我認為您可以通過以下方式致電:

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

您想要做的是從集成在另一個字典中的字典中獲取一個值。 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]

希望這可以幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM