为 csv 文件清理 python tweepy 输出

Clean python tweepy out put for csv file

我正在用 python tweepy 收集推特数据,这里是代码:

class listener (StreamListener):
def on_data(self, raw_data):

    data = json.loads(raw_data)
    print data.keys()
    tweet = data['text'].encode("utf-8")
    tweet_id = data['id']
    time_tweet = data['timestamp_ms']
    date = datetime.datetime.fromtimestamp(int(time_tweet) / 1000)
    new_date = str(date).split(" ") [0]
    print new_date
    user_id = data['user']['id']
    with  open('twitDB.csv','ab') as csvfile:
        myfile = csv.writer(csvfile)
        myfile.writerow([tweet_id,new_date,tweet,user_id])



    return True

def on_error(self, status_code):
    print status_code
auth = OAuthHandler(consumer_key,consumer_secret)
auth.set_access_token(access_token,access_token_secret)
twitterStream = Stream(auth,listener())
twitterStream.filter(track=["car"])

这是推文的输出

我如何删除重复、删除标点符号、删除推文中的数字,以及 删除长度小于 2 的单词。

是否有任何开箱即用的解决方案可用于清理 tweepy 数据?

您可以使用 list comprehension 来快速解决问题。

import string
text = "I am a 2 tweet."
result = [i.strip(string.punctuation) for i in text.split() if not any ([len(i) < 2, i in string.punctuation, i.isdigit()])]

['am', 'tweet']

您可以在结果列表中使用 set() 来删除重复的单词,然后使用

再次将其变成 str
 " ".join(result)