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