我正在寻找从 Twitter API 中提取数据并创建一个管道分隔文件,我可以对其进行进一步处理。我的代码目前看起来像这样:
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)
api = tweepy.API(auth)
out_file = "tweets.txt"
tweets = api.search(q='foo')
o = open(out_file, 'a')
for tweet in tweets:
id = str(tweet.id)
user = tweet.user.screen_name
post = tweet.text
post = post.encode('ascii', 'ignore')
post = post.strip('|') # so pipes in tweets don't create unwanted separators
post = post.strip('\r\n')
record = id + "|" + user + "|" + post
print>>o, record
当用户的推文包含换行符时,我遇到了一个问题,这使得输出数据看起来像这样:
473565810326601730|usera|this is a tweet
473565810325865901|userb|some other example
406478015419876422|userc|line
separated
tweet
431658790543289758|userd|one more tweet
我想删除第三条推文中的换行符。除了上述之外,我还尝试了 post.strip('\n') 和 post.strip('0x0D 0x0A') 但似乎都不起作用。有什么想法吗?
最佳答案
那是因为strip返回“删除了前导和尾随字符的字符串副本”。
你应该使用 replace对于新线路和管道:
post = post.replace('|', ' ')
post = post.replace('\n', ' ')
关于python - 通过 Tweepy 去除推文中的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24434200/