我的json文件如下所示:
{"07/01/2015-08/01/2015":
{"ABC": [
["12015618727", "2015-07-29 02:32:01"],
["12024079732", "2015-07-24 13:04:01"],
["12024700142", "2015-07-02 00:00:00"]
]
}
}
我想在python中从这里提取数字12015618727,12024079732,12024700142。
我写了这段代码:
import json
numbers=set()
input_file=open('filename', 'r')
json_decode=json.load(input_file)
for item in json_decode["07/01/2015-08/01/2015"]["ABC"]:
for j in item:
numbers.add(j[0])
print " ".join(str(x) for x in numbers)
但这不会打印数字。
答案 0 :(得分:1)
Python有一个json解析库,有关详细信息,请参阅https://docs.python.org/2/library/json.html。
用法:
import json
text = open("file.txt", "r").read()
obj = json.loads(text)
其中obj是一个带有嵌套数组和dicts的python本机dict对象。
编辑:
这是您想要的代码。
import json
numbers=set()
input_file=open('filename.json', 'r')
json_decode=json.load(input_file)
for item in json_decode["07/01/2015-08/01/2015"]["ABC"]:
numbers.add(item[0])
print " ".join(str(x) for x in numbers)
你遍历每个项目(两个字符串)并添加了每个字符串的第一个字母,因此是1和2.下一次,请提供你得到的输出。
此外,您应该首先尝试调试代码。我在每个循环的开头添加了print
,这使得问题非常清楚。