0

从 json 响应中提取文本以查询 twitter API 时,我遇到了一个稍微奇怪的问题。

如果我以这种方式提取文本:

def retrieveText(raw_tweets):
    for l in raw_tweets:
       format_data = json.loads(l)

        for k in format_data.keys():
           if k == 'text':
               text = format_data['text']

我没有任何问题。但是,不断迭代键列表有点麻烦。

如果我更改为此版本:

def retrieveText(raw_tweets):
    for l in raw_tweets:
        format_data = json.loads(l)
        text = format_data['text']

我收到一个 KeyError,根据前面代码片段的结果,这对我来说没有意义。

如果有人对我忽略的东西有见解,请告诉我。

4

1 回答 1

2

这个

for k in format_data.keys():
    if k == 'text':
        text = format_data['text']

可以改写为:

if 'text' in format_data:
    text = format_data['text']
于 2013-05-21T16:37:01.830 回答