Функция для «выпрямления» твита
Как правило, нас интересуют сотни или тысячи твитов. Для этого удобно определить функцию, которая будет «выпрямлять» JSON-файл с твитами. Назовём её flatten_tweets(). Мы будем использовать эту функцию несколько раз на протяжении курса, немного адаптируя её под разные типы данных.
Библиотека json уже загружена.
Это упражнение является частью курса
Анализ данных социальных сетей на Python
Инструкции к упражнению
- Сохраните имя пользователя (screen name) в
user-screen_name. - Сохраните текст расширенного твита в
extended_tweet-full_text. - Сохраните имя пользователя ретвита в
retweeted_status-user-screen_name. - Сохраните текст ретвита в
retweeted_status-text.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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