始める無料で始める

ツイートをフラット化する関数

通常は、数百件や数千件単位のツイートを扱うことになります。そのため、ツイートが詰まった 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
コードを編集して実行