推文扁平化函式
我們通常會同時關注數百或上千則推文。為此,定義一個能將包含多則推文的 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