Una función para aplanar tweets
Normalmente nos interesan cientos o miles de tweets. Para ello, tiene sentido definir una función que aplane un archivo JSON lleno de tweets. Llamaremos a esta función flatten_tweets(). Usaremos esta función varias veces a lo largo del curso y la iremos ajustando a medida que trabajemos con distintos tipos de datos.
json ya se ha cargado por ti.
Este ejercicio forma parte del curso
Análisis de datos de redes sociales con Python
Instrucciones del ejercicio
- Guarda el nombre de usuario visible en
user-screen_name. - Guarda el texto ampliado del tweet en
extended_tweet-full_text. - Guarda el nombre de usuario visible del retweet en
retweeted_status-user-screen_name. - Guarda el texto del retweet en
retweeted_status-text.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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