1

我正在尝试在从 Twitter 的 API 收集的推文上使用 Pandas 创建一个数据框。当我尝试调用我的代码时出现错误消息(下面的屏幕截图)。据说我的数据框 df 在分配之前被引用,但乍一看显然不是。

这是我的错误消息“UnboundLocalError: local variable 'df' referenced before assignment”

主要方法

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 类

类推文分析器:

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
4

0 回答 0