Funkce pro zploštění tweetu
Obvykle pracujeme se stovkami nebo tisíci tweetů. Proto dává smysl definovat funkci, která JSON soubor plný tweetů zploští. Pojmenujme ji flatten_tweets(). Tuto funkci použijeme v kurzu víckrát a budeme ji mírně upravovat podle toho, s jakými daty budeme pracovat.
json je už načtený.
Toto cvičení je součástí kurzu
Analýza dat ze sociálních sítí v Pythonu
Pokyny k cvičení
- Ulož uživatelské jméno (screen name) do
user-screen_name. - Ulož text rozšířeného tweetu do
extended_tweet-full_text. - Ulož uživatelské jméno autora retweetu do
retweeted_status-user-screen_name. - Ulož text retweetu do
retweeted_status-text.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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