Python的土耳其人物
题
我正在玩Twitter API,但我对土耳其角色的编码有几个问题。这是我正在使用的代码:
# -*- coding: cp1254 -*-
import sys
import csv
import tweepy
import locale
import string
locale.setlocale(locale.LC_ALL, "Turkish")
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth)
f=open("tweets.csv", "wb")
for q in [list of search queries]:
a=[tweet.text.encode("utf-8") for tweet in tweepy.Cursor(api.search, q, result_type="recent", include_entities=True, lang="tr").items(20)]
wr=csv.writer(f, quoting=csv.QUOTE_ALL)
wr.writerow(q)
.
基本上,我正在做的是通过搜索查询列表迭代来运行搜索API,然后将推断写入Excel文件。但是,无论我做什么,推文都是通过用其他替代品替换常规土耳其人物来编写的。我尝试了几件事(设置了语言环境,添加.encode(“UTF-8”)部分等),但我仍然不知道如何修复它。
这是我在谈论的:
写的是什么:dänakåÿamälkerarena
我想要它写作:dünakşamÜlkerarena
我不明白的是,当我将区域设置设置到土耳其语时,ü,ü和ş都在本地字母中,但Python替换这些字母。
解决方案
我在我的系统上重复了你的代码(Windows 7,带Office 2010),我已经工作了。我使用了你的代码,但我简化了搜索查询,如下所示:
search_results = api.search(q="canan1405", count=10)
for tweet in search_results:
print tweet.text.encode('utf-8')
.
我从“Canan1405”用户中拉了推文,因为它们包含土耳其角色。 (希望她不介意!)
我只是将脚本的输出重定向到文件,如下所示:
python so_24038317.py> tweets.csv
此时,Tweets.csv文件包含编码为UTF-8的Unicode字符。如果我按照自己双击该文件,默认的Excel显示屏会显示垃圾字符在案例中非常相似:
而不是双击csv文件,请使用以下步骤导入文件:
其他提示
使用iso-8859-9
或iso-8859
编码以具有土耳其字符。
编辑: 如果要绝对编码UTF8,请解码和编码 您可以执行此生成icoticetagcode
不隶属于 StackOverflow