【发布时间】:2021-04-21 12:35:38
【问题描述】:
我试图按照此页面中的示例从 twitter 上抓取数据:https://www.earthdatascience.org/courses/use-data-open-source-python/intro-to-apis/twitter-data-in-python/
# -*- coding: cp852 -*-
import sys
sys.modules[__name__].__dict__.clear()
import os
import tweepy as tw
import pandas as pd
consumer_key = 'XXX'
consumer_secret = 'YYY'
access_token = 'ZZZ'
access_token_secret = 'BBB'
print(consumer_key)
auth = tw.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tw.API(auth, wait_on_rate_limit=True)
# Define the search term and the date_since date as variables
search_words = "#MERZ"
date_since = "2021-01-16"
#Collect tweets
tweets = tw.Cursor(api.search,
q=search_words,
lang = "en",
since=date_since).items(5)
for tweet in tweets:
print(tweet.text.encode('cp1252', errors='ignore'))
print([tweet.text for tweet in tweets])
new_search = search_words + " -filter:retweets"
#new_search
tweets = tw.Cursor(api.search,
q=new_search,
lang="en",
since=date_since).items(5)
print([tweet.text for tweet in tweets])
tweets = tw.Cursor(api.search,
q=new_search,
lang="en",
since=date_since).items(5)
users_locs = [[tweet.user.screen_name, tweet.user.location] for tweet in tweets]
print(users_locs)
tweet_text = pd.DataFrame(data=users_locs,
columns=['user', "location"])
print(tweet_text)
但是,我无法打印数据框。错误信息如下:
TypeError: 'NoneType' 对象不可调用
谁能帮帮我。非常感谢您的帮助。谢谢。
编辑 1:我被要求提供更多信息。附上,您可以找到完整的错误消息。
Traceback (most recent call last):
File "C:\Users\Mustermann\Desktop\tweep\tweep.py", line 59, in <module>
print(tweet_text)
File "C:\Users\Mustermann\Anaconda3\lib\site-packages\pandas\core\frame.py", line 744, in __repr__
self.to_string(
File "C:\Users\Mustermann\Anaconda3\lib\site-packages\pandas\core\frame.py", line 883, in to_string
return formatter.to_string(buf=buf, encoding=encoding)
File "C:\Users\Mustermann\Anaconda3\lib\site-packages\pandas\io\formats\format.py", line 921, in to_string
return self.get_result(buf=buf, encoding=encoding)
File "C:\Users\Mustermann\Anaconda3\lib\site-packages\pandas\io\formats\format.py", line 520, in get_result
self.write_result(buf=f)
File "C:\Users\Mustermann\Anaconda3\lib\site-packages\pandas\io\formats\format.py", line 844, in write_result
max_len = Series(lines).str.len().max()
File "C:\Users\Mustermann\Anaconda3\lib\site-packages\pandas\core\generic.py", line 11459, in stat_func
return self._reduce(
File "C:\Users\Mustermann\Anaconda3\lib\site-packages\pandas\core\series.py", line 4236, in _reduce
return op(delegate, skipna=skipna, **kwds)
File "C:\Users\Mustermann\Anaconda3\lib\site-packages\pandas\core\nanops.py", line 120, in f
result = bn_func(values, axis=axis, **kwds)
TypeError: 'NoneType' object is not callable
[Finished in 2.306s]
编辑 2:即使在使用 Pandas 的最小示例中,我似乎也遇到了错误。请参阅随附的代码。我也改了标题。
import pandas as pd
import numpy as np
d = {'col1': [1, 2], 'col2': [3, 4]}
print(d)
df = pd.DataFrame(data=d)
df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),
columns=['a', 'b', 'c'])
print(df)
print(df2)
【问题讨论】:
标签: pandas dataframe object printing tweepy