Локальная переменная, на которую ссылаются до назначения Twitter API проблема - PullRequest
1 голос
/ 28 апреля 2020

Я пытаюсь создать фрейм данных, используя Pandas для твитов, собранных из API Twitter. При попытке вызвать мой код появляется сообщение об ошибке (скриншот ниже). Это говорит о том, что на мой фрейм данных, df, ссылаются до назначения, когда на первый взгляд это явно не так.

Вот мое сообщение об ошибке "UnboundLocalError: локальная переменная 'df', на которую ссылаются перед назначением"

ОСНОВНОЙ МЕТОД

twitter_client = TwitterClient()
api = twitter_client.get_twitter_client_api()
tweet_analyzer = TweetAnalyzer()

#go together
tweets = api.user_timeline(screen_name ="nytimes", count=200) #prints tweets from the reald donald trump
df = tweet_analyzer.tweets_to_data_frame(tweets) #get text of tweet

TWITTER_ANALYZER CLASS

класс TweetAnalyzer :

def tweets_to_data_frame(self, tweets):
    count =0
    for tweet in tweets:
        #print(type(tweet))
        json_str = json.dumps(tweet._json)
        parsed = json.loads(json_str)
        #print(json.dumps(parsed, indent=4, sort_keys=True))
        #print (parsed['text'])
        y=re.findall('.+Corona.+',parsed['text'])
        #count=count+1;
        #print("Count", count)
        #print(str(tweet.text))

        if len(y)>0 and tweet.favorite_count > 6000:
            print(tweet.text)
            df = pd.DataFrame(data = [tweet.text], columns = ['tweets'])
            df['id'] = np.array([tweet.id])
            df['len'] = np.array([len(tweet.text)])
            df['date'] = np.array([tweet.created_at])
            df['source'] = np.array([tweet.source])
            df['likes'] = np.array([tweet.favorite_count])
            df['retweet'] = np.array([tweet.retweet_count])
    return df
...