Une fonction pour aplatir un tweet
Nous nous intéressons généralement à des centaines, voire des milliers de tweets. Dans ce but, il est pertinent 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 l’adapterons légèrement selon les types de données traités.
json a été importé pour vous.
Cet exercice fait partie du cours
<cours>Analyser des données de réseaux sociaux en Python</cours>Instructions de l’exercice
- Stockez le nom d’utilisateur (screen name) dans
user-screen_name. - Stockez le texte du tweet étendu dans
extended_tweet-full_text. - Stockez le nom d’utilisateur du retweet dans
retweeted_status-user-screen_name. - Stockez 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