[英]Storing json data in python
有沒有一種方法可以輕松地將json
數據存儲在python中的變量中。 我並不是說將整個json
放在一個變量中,而是將其解析並存儲為鍵值。
例如-如果這是json
文件
[
[
1,
"Apple"
],
[
2,
"Orange"
],
[
3,
"Grapes"
],
[
4,
"Banana"
],
[
5,
"Mango"
]
]
我想在python中有一個列表或其他一些數據類型,通過它我可以輕松訪問數據。
像variable[1]
類的東西應該打印Apple等
是。 您可以使用json
模塊。 特別是json.loads
。 但是,如果您還希望數據之間具有鍵值關聯,則需要使用字典:
from json import loads
json_data = \
"""
[
[1, "Apple"],
[2, "Orange"],
[3, "Grapes"],
[4, "Banana"],
[5, "Mango"]
]
"""
data = dict(loads(json_data))
print(data)
# {1: u'Apple', 2: u'Orange', 3: u'Grapes', 4: u'Banana', 5: u'Mango'}
毫不奇怪,您需要json
模塊。
In [29]: import json
In [30]: data = '''[
...: [
...: 1,
...: "Apple"
...: ],
...: [
...: 2,
...: "Orange"
...: ],
...: [
...: 3,
...: "Grapes"
...: ],
...: [
...: 4,
...: "Banana"
...: ],
...: [
...: 5,
...: "Mango"
...: ]
...: ]'''
In [31]: json.loads(data)
Out[31]: [[1, 'Apple'], [2, 'Orange'], [3, 'Grapes'], [4, 'Banana'], [5, 'Mango']]
該模塊還包含處理文件中數據的功能。
通過數字鍵提取水果名稱的方法有幾種,但是它們都涉及到進一步轉換數據。 例如:
In [32]: fruits = []
In [33]: for key, name in json.loads(data):
...: fruits.append(name)
...:
In [34]: fruits[0]
Out[34]: 'Apple'
鑒於鍵以1開頭,因此Python的從零開始的索引在某種程度上破壞了該解決方案的價值。字典可為您提供所需的確切信息。 如果您使用對列表來調用dict
構造函數,它將把它們視為鍵,值對。
In [35]: fruits = dict(json.loads(data))
In [36]: fruits[1]
Out[36]: 'Apple'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.