推文扁平化函数
我们通常需要处理数百或数千条推文。为此,定义一个函数来扁平化包含推文的 JSON 文件更为合理。我们把这个函数称为 flatten_tweets()。在本课程中,您将多次使用该函数,并会根据不同数据类型做些微调。
json 库已为您加载。
本练习是课程的一部分
在 Python 中分析社交媒体数据
练习说明
- 将用户的屏幕名存入
user-screen_name。 - 将扩展推文文本存入
extended_tweet-full_text。 - 将转推用户的屏幕名存入
retweeted_status-user-screen_name。 - 将转推文本存入
retweeted_status-text。
交互式实操练习
通过完成这段示例代码来试试这个练习。
def flatten_tweets(tweets_json):
""" Flattens out tweet dictionaries so relevant JSON
is in a top-level dictionary."""
tweets_list = []
# Iterate through each tweet
for tweet in tweets_json:
tweet_obj = json.loads(tweet)
# Store the user screen name in 'user-screen_name'
tweet_obj[____] = ____
# Check if this is a 140+ character tweet
if 'extended_tweet' in tweet_obj:
# Store the extended tweet text in 'extended_tweet-full_text'
tweet_obj[____] = ____
if 'retweeted_status' in tweet_obj:
# Store the retweet user screen name in 'retweeted_status-user-screen_name'
tweet_obj[____] = ____
# Store the retweet text in 'retweeted_status-text'
tweet_obj[____] = ____
tweets_list.append(tweet_obj)
return tweets_list