I am trying to create a data frame using Pandas on tweets gathered from Twitter's API. An error message happens when I try to call my code (screenshot below). It is saying that my data frame, df, is referenced before the assignment when at first glance it is clearly not.
Here is my error message "UnboundLocalError: local variable 'df' referenced before assignment"
MAIN METHOD
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
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