我定义一个类来处理的鸣叫块,所以我可以管理它们更容易一些类不能正常工作的方法正确
class twitter_block(object):
def __init__(self):
self.tweets = []
self.df = pd.DataFrame()
self.tag = ''
def load(self, data):
self.tweets = [x for x in data]
然后定义一个方法作为管道的一部分:
def clean(self):
HTTP_PATTERN = '^https?:\/\/.*[\r\n]*'
AT_PATTERN = '@\w+ ?'
# tke away links
self.tweets = [re.sub(HTTP_PATTERN, '', str(x), flags=re.MULTILINE) for x in self.tweets]
# take away @ signs
self.tweets = [re.sub(AT_PATTERN,'',str(x)) for x in self.tweets]
但当我打电话给这个:
tweet = load_data('The_Donald.json')
block = twitter_block(tag='donald')
block.load(data=tweet)
block.clean()
block.print()
它返回我加载到block object中的1504个tweets,和之前一样,没有clea宁链接或任何东西。虽然,实际上它并删除@符号......但这种方法,
def smilecheck(self):
#save a tweet if there is a smiley there
smiley_pattern = '^(:\(|:\))+$'
for tweet in self.tweets:
if re.match(smiley_pattern, str(tweet)):
pass
else:
self.tweets.remove(tweet)
不会删除微博没有表情,返回1504鸣叫,我把在同一...任何帮助的家伙?我敢肯定,这就是你想要找的鸣叫与我接近的物体
那是你的实际缩进或者你不能正确抄写了吗?请仔细重现您的缩进,因为严重缩进的Python代码是无稽之谈。 – khelwood