我正在学习使用Python和Twitter API。用户的信息保存为json文件。
基本上,json文件存储了一个词典列表:
data = [{1}, {2}, {3}, {4}, {5}]
在每个字典中都有一些信息,f.ex。:
[
{
"created_at": "2018-04-28 13:12:07",
"favorite_count": 0,
"followers_count": 2,
"id_str": "990217093206310912",
"in_reply_to_screen_name": null,
"retweet_count": 0,
"screen_name": "SyerahMizi",
"text": "u can count on me like 123 \ud83d\ude0a\ud83d\udc6d"
},
{
"created_at": "2018-04-26 04:21:48",
"favorite_count": 0,
"followers_count": 2,
"id_str": "989358860937846785",
"in_reply_to_screen_name": null,
"retweet_count": 0,
"screen_name": "SyerahMizi",
"text": "Never give up"
},
]
我只是想在每个字典中仅打印“文本”信息,但我一直收到错误
TypeError: list indices must be integers, not str
这是我到目前为止所拥有的:
import json
with open('981452637_tweetlist.json') as json_file:
json_data = json.load(json_file)
lst = json_file['text'][0]
print lst
所以对我需要的任何帮助或解释都会很棒。谢谢!
答案 0 :(得分:2)
正如错误所暗示的那样,列表索引必须是'int'而不是'str'。您错误地将列表作为字典和字典作为列表。正确的代码将是:
cumprod
答案 1 :(得分:1)
您可以使用for循环。
let @a=0 | %s/STRING/\=get(foo, @a+setreg('a',@a+1))/g
如果你想要它在同一行,你可以改为制作一个列表并在for循环中追加它。