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
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