我试图在JSON文件中搜索用户名,但它只返回[],而不是tom123。
JSON文件内容:
[{"id":"001788fffe48cbdb","username":"tom123"}]代码:
import json
import re
import requests
f = open("first.json", "r+")
print(f.read())
username = [index["username"] for index in f.read()]
print(username)
f.close()发布于 2017-02-04 01:39:05
f是一个文件对象,它是一个类似迭代器的对象,这意味着当您迭代它时,您已经使用了它,并且不能再使用它。在本例中,您首先在下面的代码行中使用它:
print(f.read())此外,对于加载json文件,您应该使用json.load()函数。然后,您可以在阅读后保留内容,然后搜索保留的内容:
with open("first.json") as f
content = json.load(f)
username = [index["username"] for index in content]
print(username)此外,作为一种基于函数的方法,您可以使用operator.itemgetter和map()来获得包含所有用户名的迭代器(这在内存使用方面更加优化):
from operator import itemgetter
with open("first.json") as f
content = json.load(f)
usernames = map(itemgetter("username"), content)发布于 2017-02-04 01:41:14
也许像这样,您想要解析json,以便可以像使用字典一样使用它。
import json
import re
import requests
f = open("first.json", "r+")
data = json.loads(f.read())
username = [index["username"] for index in data]
print(username)
f.close()https://stackoverflow.com/questions/42029938
复制相似问题