ツイートをフラット化する関数
通常は、数百件や数千件単位のツイートを扱うことになります。そのため、ツイートが詰まった 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