開始使用免費開始

推文扁平化函式

我們通常會同時關注數百或上千則推文。為此,定義一個能將包含多則推文的 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
編輯並執行程式碼