清理python tweepy输出csv文件

时间:2017-07-12 15:33:32

标签: python csv twitter tweepy

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

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"])

以下是推文输出 enter image description here

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

是否有任何外包解决方案可用于清理tweepy数据?

1 个答案:

答案 0 :(得分:3)

您可以使用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)