Aan de slagBegin gratis

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

Bekijk cursus

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
Code bewerken en uitvoeren