Python 3.x 拆下b&x27;使用python的csv文件中的字符
我从我的twitter API中检索推文,然后尝试将结果保存为csv文件。 以下是将其保存为csv文件的代码:Python 3.x 拆下b&x27;使用python的csv文件中的字符,python-3.x,Python 3.x,我从我的twitter API中检索推文,然后尝试将结果保存为csv文件。 以下是将其保存为csv文件的代码: csvFile = open('test55.csv', 'w', newline='') csvWriter = csv.writer(csvFile) csvWriter.writerow(['time', 'username', 'tweet']) for tweet in tweepy.Cursor(api.search,q="#covid19 -filter:ret
csvFile = open('test55.csv', 'w', newline='')
csvWriter = csv.writer(csvFile)
csvWriter.writerow(['time', 'username', 'tweet'])
for tweet in tweepy.Cursor(api.search,q="#covid19 -filter:retweets",count=500,
lang="in", tweet_mode='extended',
since="2021-02-27").items():
print (tweet.created_at, tweet.user.screen_name, tweet.full_text)
csvWriter.writerow([tweet.created_at, tweet.user.screen_name.encode('utf-8'),tweet.full_text.replace('\n',' ').encode('utf-8')])
csv文件中的结果:
b'usersA'
b'这里有一条关于新冠病毒-19的假文本,因为我不能分享推特结果,因为推特API政策'
我试着用jupyter笔记本对它进行文本预处理。为了删除b'前缀字符,我尝试对其进行解码,但python将其归类为str类型。所以,它没有做任何与b'前缀。
相反,我尝试使用正则表达式删除b'前缀字符。代码如下:
def remove_tweet_special(text):
text = text.replace("b/'","")
data_tweet['tweet'] = data_tweet['tweet'].apply(remove_tweet_special)
这没有改变任何事情。但是,以下是结果示例:
B由于Twitter API政策的原因,我无法分享推特结果,所以这里有一条关于新冠病毒-19的虚拟文本
有人能帮我用python 3删除b'前缀吗?你的。encode()
就是给你b'
前缀的东西:
如果你想摆脱
b'
那为什么你要对它进行编码,如果这不是你想要的呢?如果不进行编码,我无法将它保存到csv文件中。它在某一点上给了我编解码器错误,但仍尝试了解更多信息。b''
前缀是字节对象(字节字符串)的repr。只是不要将其编码(这也会将str转换为bytes对象)。csvFile以文本模式打开,因此需要str
对象。在写入后试图删除它是错误的做法。我尝试了不使用.encode('utf-8'),但成功了,但这发生了:UnicodeEncodeError:“charmap”编解码器无法对37-40位置的字符进行编码:字符映射到它检索到的推文也较少我只是尝试不进行编码,结果发生了:UnicodeEncodeError:“charmap”编解码器无法对37-40位置的字符进行编码:字符映射到,我只检索到5条推文,当我使用.encode('utf-8)时,我检索到15-50条tweet。我认为没有。包含符号和表情符号的编码(utf-8)字符被过滤掉了
In [1]: my_string = "This is my string."
...: my_string
Out[1]: 'This is my string.'
In [2]: my_string.encode()
Out[2]: b'This is my string.'