【发布时间】:2014-07-15 08:14:52
【问题描述】:
我处理一些 twitter 数据,我通过监视 twitter 流获取数据,然后将结果保存在 *.txt 文件中
我正在尝试用 python 操作这个 txt 文件,为此我使用 json.loads() 指令,文件中的每一行都保存了 twitter 流结果,这样我得到了每个文件行一个 json 对象。
for line in twitter_file
data = json.loads(line)
json 对象(一个文件行一个 json 对象)被加载到一个名为“data”的变量中
Everyting 在那里工作,当我尝试访问 "data" json 对象中的元素时,我可以做到这一点,例如,如果我可以看到 place 元素,我可以使用 data["place"] 来做到这一点,所以我得到了这个:
"place":{
"id":"00a961d91f76dde8",
"url":"https:\/\/api.twitter.com\/1.1\/geo\/id\/00a961d91f76dde8.json",
"place_type":"city",
"name":"Capital - Corrientes",
"full_name":"Capital - Corrientes",
"country_code":"AR",
"country":"Argentina",
"contained_within":[]
}
我可以访问“place”元素,如果我执行 print data["place"] ,我可以看到上面显示的文本。
当我尝试访问特定的键位字典时,问题就出现了,
我尝试过这样做
data["place"]["place_type"]
我正在等待获取“城市”值作为结果,但我做不到,我收到以下错误:TypeError: "NoneType" object has no attribute '__getitem__'
我还尝试了其他方法来显示键值对,如下所示:
for key,value in data["data"].items()
print key
但我没有得到结果
我也试过
print data["place"].keys()[0]
要打印第一个元素,但它也不起作用。我收到以下错误消息:AttributeError: 'NoneType' object has no attribute 'keys'
我的 data["place"] 似乎没有被 Python 视为字典,这就是我的猜测,但我不确定,我对 Python 还很陌生,所以任何评论都会很有帮助对我来说。
【问题讨论】:
标签: python json twitter dictionary