gpt4 book ai didi

python - 如何将乌尔都语语言字符保存在 csv 文件中?

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

我正在尝试将 urdu 保存在 csv 文件中,但符号存储在文件中而不是 urdu 文本中,我也尝试添加 urdu 编码的 iso 代码,但它不起作用 ISO-8859-1

import sys
import json
import time
import csv
import codecs

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
tweets = api.search(q="اردو"+" -filter:retweets",count="10000")
for tweet in tweets:
if tweet.lang == "ur":
#print(tweet.text)
with open('mytweets18.csv', 'w', encoding='ISO-8859-1') as f:
writer = csv.writer(f, delimiter=';')
writer.writerow(tweet.text)

问题出在编码上。我也尝试过使用 encoding="utf-8",但两者都不起作用。需要有关此方面的帮助。

最佳答案

ISO-8859-1字符集(也称为 Latin-1)仅包含 256 个字符,大部分来自西欧。因此它无法代表您要保存的字符。

UTF-8另一方面,可以存储几乎任何您能想到的(然后是一些)支持所有 unicode 字符的内容。如果有疑问,这就是要使用的编码。

以下代码演示了使用示例中的文本保存和加载 CSV 文件:

import csv

data = u"ردو"


with(open('example.csv', 'w', encoding='utf-8')) as fh:
writer = csv.writer(fh)
writer.writerow([data])

with(open('example.csv', encoding='utf-8')) as fh:
for row in csv.reader(fh):
print(row[0], len(row[0]))
# 3 ردو (it seems backwards but Urdu is right-to-left)

您可以看到字符数已正确保留。这很重要,因为 UTF-8 将字符存储为多个字节。例如,如果您将它们加载为“iso-8859-1”,您将得到如下乱码:

# رد٠6

这可能具有欺骗性,因为您的终端可以通过将字节重新解释为 UTF-8 来向您隐藏差异,使其看起来一切正常。

关于python - 如何将乌尔都语语言字符保存在 csv 文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52483943/

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