我有一个这样格式的日志文件,
{
"box1" : {
"item1" : "testValue1",
"item2" : "testValue2"
},
"foods" : [
{
"orange" : "per pound",
"price" : 2.99
},
{
"rice" : "in bag",
"price" : 1.99
"extra-key" : "extra-Value",
"extra-key2" : "extra-Value2",
},
{
"beer" : "in box",
"price" : 12.99
"extra-key3" : "extra-Value3"
"content" : None
}
]
}
我想在python中将以下值提取到输出文件中:
[ "orange" : "per pound", "rice" : "in bag","beer" : "in box" ]
有人能告诉我怎么做吗?
答案 0 :(得分:1)
要读取json文件,可以使用Python模块 - json。它读取文件并返回存储在文件中的相应数据结构。
由于您有字典,因此只需索引字典即可轻松访问值。
import json
with open('logFileName') as f:
data = json.load(f)
# Foods is a list of dictionaries, so you have to access it like that
print data['foods'][0]['orange']
请注意,您错误地指定了所需的输出格式,因为您正在混合列表和字典语法。事实上,我假设您想从日志中提取字典。
如果您事先不知道列表中的食物类型,这是一个问题,因为要确定词典中的哪个键是食物(例如rice
)并不容易完全不同,例如extra-key
。
要快速了解Python,请阅读The Python Tutorial。