gpt4 book ai didi

python - 将推文编码为 UTF-8 在 Python 中创建奇怪的字符

转载 作者:行者123 更新时间:2023-11-28 20:36:24 25 4
gpt4 key购买 nike

我正在使用 Twitter API 下载用户的所有推文。

当我下载推文时,我将它们编码为 utf-8,然后将它们放入 CSV 文件中。

tweet.text.encode("utf-8")

我正在使用 python 3

问题是这会在我的文件中创建非常奇怪的字符。例如,阅读的推文

"But I’ve been talkin' to God for so long that if you look at my life, I guess he talkin' back." 

变成了

"b""But I\xe2\x80\x99ve been talkin' to God for so long that if you look at my life, I guess he talkin' back. """

(当我打开写入此编码文本的 CSV 文件时,我看到了这个)。

所以我的问题是,我怎样才能阻止创建这些奇怪的字符。

此外,如果有人可以解释每一行开头的 b' 的含义,那将非常有帮助。

完整代码如下:

    outtweets = [ [tweet.text.encode('utf-8')] for tweet in alltweets]

#write the csv
with open('%s_tweets.csv' % screen_name, 'wt') as f:
writer = csv.writer(f)
writer.writerow(["text"])
writer.writerows(outtweets)

最佳答案

那不是一个奇怪的字符,那是一个RIGHT SINGLE QUOTATION MARK (U+2019)。您经常可以在基于 OSX 的浏览器完成的提交中看到该字符。

如果所有内容都需要 ASCII,您可以尝试:

import unicodedata
unicodedata.normalize('NFKD', tweet.text).encode('ascii','ignore')

如果您将字符串编码为字节序列,然后输出该字节序列,您应该期望 b"..." 指示字节序列而不是普通字符串。

关于python - 将推文编码为 UTF-8 在 Python 中创建奇怪的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45121249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com