ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python中的土耳其语字符

2019-11-21 17:06:45  阅读:472  来源: 互联网

标签:twitter turkish tweepy 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)

基本上,我正在通过迭代搜索查询列表,然后将推文写入excel文件来运行搜索api.但是,无论我做什么,这些推文都是通过将常规土耳其语字符替换为其他替代物来编写的.我已经尝试了几种方法(设置区域设置,添加.encode(“ utf-8”)部分等),但是我仍然不知道如何解决它.

这是我在说的:

what is written: Dün akşam Ülker Arena

what I want it to write: Dün akşam Ülker Arena

我不明白的是,当我将语言环境设置为土耳其语时,ü,Ü和ş都在本地字母中,但是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文件,使用以下步骤导入文件:

>启动Excel.
>单击功能区上的“数据”选项卡.
>单击“获取外部数据”中的“来自文本”图标.
>找到CSV文件,然后单击“导入”按钮.
>将显示一个向导.就我而言,它为文件内容提供了正确的猜测(请参见“文件来源:”下拉列表):

您可以完成向导的其余步骤,但这些步骤是可选的.该文件正确显示:

据我所知,它包含(并正确显示)以下土耳其语字符:

ş,Ğ,İ,ğ,ı,ç

请注意,字符串“ Oyyşirinkedi”之后的字符是表情符号,不是有效的UTF-8字符.希望这可以帮助.

标签:twitter,turkish,tweepy,python
来源: https://codeday.me/bug/20191121/2053442.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有