gpt4 book ai didi

python - 无法使用 Python 将阿拉伯语解码的 Unicode 保存到 CSV 文件

转载 作者:太空宇宙 更新时间:2023-11-03 17:02:39 25 4
gpt4 key购买 nike

我正在使用 python 的 Twitter 流包。我目前正在使用以 unicode 编写的关键字来搜索包含该单词的推文。然后,我使用 python 创建推文的数据库 csv 文件。但是,当我将推文保存到 csv 中时,我想将它们转换回阿拉伯符号。

我收到的错误都类似于“错误 ondata,位置 ___ 的 ASCII 字符不在 128 的范围内。”

这是我的代码:

class listener(StreamListener):
def on_data(self, data):
try:
#print data

tweet = (str((data.split(',"text":"')[1].split('","source')[0]))).encode('utf-8')
now = datetime.now()
tweetsymbols = tweet.encode('utf-8')
print tweetsymbols

saveThis = str(now) + ':::' + tweetsymbols.decode('utf-8')
saveFile = open('rawtwitterdata.csv','a')
saveFile.write(saveThis)
saveFile.write('\n')
saveFile.close()
return True

最佳答案

Excel 需要将 Unicode BOM 字符写入 UTF-8 文件的开头才能正确查看。如果没有它,Excel 会采用“ANSI”编码,这取决于操作系统区域设置。

这将使用阿拉伯语写入 3 行、3 列的 CSV 文件:

#!python2
#coding:utf8
import io
with io.open('arabic.csv','w',encoding='utf-8-sig') as f:
s = u'إعلان يونيو وبالرغم تم. المتحدة'
s = u','.join([s,s,s]) + u'\n'
f.write(s)
f.write(s)
f.write(s)

输出:

enter image description here

对于您的具体示例,只需确保将 BOM 字符 u'\xfeff' 写入文件的第一个字符,并以 UTF-8 编码。在上面的示例中,“utf-8-sig”编解码器确保写入 BOM。

另请参阅 this answer ,其中显示了如何包装 csv 模块以支持 Unicode,或获取第三方 unicodecsv 模块。

关于python - 无法使用 Python 将阿拉伯语解码的 Unicode 保存到 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34905380/

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