CommencezCommencez gratuitement

Une fonction pour aplatir un tweet

Nous nous intéressons habituellement à des centaines, voire des milliers de tweets. Pour cela, il est judicieux de définir une fonction pour aplatir un fichier JSON rempli de tweets. Appelons cette fonction flatten_tweets(). Nous l'utiliserons à plusieurs reprises dans ce cours et nous l'ajusterons légèrement selon les types de données traités.

json a été importé pour vous.

Cette activité fait partie du cours

Analyser des données de médias sociaux avec Python

Voir le cours

Instructions de l’exercice

  • Enregistrer le nom d'utilisateur affiché dans user-screen_name.
  • Enregistrer le texte du tweet étendu dans extended_tweet-full_text.
  • Enregistrer le nom d'utilisateur du retweet dans retweeted_status-user-screen_name.
  • Enregistrer le texte du retweet dans retweeted_status-text.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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
Modifier et exécuter le code