Een functie om tweets te flattenen
We zijn meestal geïnteresseerd in honderden of duizenden tweets. Daarvoor is het handig om een functie te definiëren die een JSON-bestand vol tweets platmaakt. Laten we deze functie flatten_tweets() noemen. We gebruiken deze functie meerdere keren in deze cursus en passen haar lichtjes aan wanneer we met verschillende soorten data werken.
json is al voor je ingeladen.
Deze oefening maakt deel uit van de cursus
Socialmediagegevens analyseren in Python
Oefeninstructies
- Sla de gebruikersscreennaam op in
user-screen_name. - Sla de uitgebreide tweettekst op in
extended_tweet-full_text. - Sla de screennaam van de retweet-gebruiker op in
retweeted_status-user-screen_name. - Sla de retweettekst op in
retweeted_status-text.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
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