Kom igångKom igång gratis

En funktion för att platta ut tweets

Vanligtvis arbetar vi med hundratals eller tusentals tweets. Det är därför praktiskt att definiera en funktion för att platta ut en JSON-fil med tweets. Vi kallar den här funktionen flatten_tweets(). Vi kommer att använda den flera gånger i kursen och anpassa den något beroende på vilken typ av data vi hanterar.

json har redan laddats in åt dig.

Den här övningen är en del av kursen

Analys av sociala medier i Python

Visa kurs

Övningsinstruktioner

  • Lagra användarens skärmnamn i user-screen_name.
  • Lagra texten i den utökade tweeten i extended_tweet-full_text.
  • Lagra skärmnamnet för den retweetade användarens konto i retweeted_status-user-screen_name.
  • Lagra texten i den retweetade tweeten i retweeted_status-text.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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
Redigera och kör kod