在python2中处理unicode

#!/usr/bin/env python # -*- coding: utf-8 -*- import tweepy import json import re import sys reload(sys) sys.setdefaultencoding('utf-8') class listener(StreamListener): def on_data(self, data): try: print data tweet = data.split(',"text":"')[1].split('","source')[0] print tweet saveThis = str(time.time())+'::' + tweet saveFile = open("tweetDB3.csv", "a") saveFile.write(saveThis) saveFile.write("\n") saveFile.close() return True except BaseException, e: print "failed ondata,",str(e) time.sleep(5) def on_error(self, status): print status auth = OAuthHandler(ckey, csecret) auth.set_access_token(atoken, asecret) twitterStream = Stream(auth, listener()) twitterStream.filter(track = ['오늘']) 

结果示例:

1465042178.01 :: RT @BTS_twt:korea#\ ud83c \ uddf0 \ ud83c \ uddf7 https://t.co/zwKaGo4Lcj 1465042181.76 :: RT @wdfrog:\ ud5e4 \ ub7f4 \ ub4dc \ uacbd \ uc81c \ uac00 \ uc774 \ ubc88 \ uc77c \ ub85c \ uc0ac \ uaccc \ ubb38 \ uc744 \ uc62c \ ub838 \ uc9c0 \ ub9cc \ uc774 \ uc790 \ ub4e4 \ uc740 \ ubd88 \ uacfc 3 \ uac1c \ uc6d4 \ uc804 \ uc778 3 \ uc6d4 4 \ uc77c \ uc5d0 \ ub3c4 \ uc55e \ uc73c \ ub85c \ uc870 \ uc2ec \ ud558 \ uaca0 \ u2e4 \ ub294 \ uc0ac \ uacfc \ ubb38 \ uc744 \ uc62c \ ubc14 \ uc788 \ ub2e4。 \ uc77c \ uc774 \ ucee4 \ uc9c8 \ uae4c \ uba74 \ ud53c \ ud558 \ ub294 \ uac83 \ uc774 \ ub2c8 \ uc5b8 \ uc860 \ uc911 \ uc7ac \ uc704 \ uc5d0 \ ud55c \ uce35 \ uac00 \ uc5f4 \ ucc28 \ uac8c \ ubbfc \ uc6d0 \ uc744 \ ub123 \ uc74d \ uc2dc \ u2e4 \ nhttps://t.co/Wb \ u2026

题:

如果我通过上面的代码(使用韩文字符)做Twitter APIstream,上面的消息是在Excel文件中显示为unicode的内容。
这些unicode具有相应的韩文字符,可以通过打印u'string'
但是是否有可能使所有这些unicode自动转换为韩文? 我试图修复python代码,并尝试在excel中解决,但没有运气。

尽pipesetdefaultencoding方法,你不能改变在Python 2.7中的默认编码。 你应该使用Python 3,(默认编码是UTF-8,你可以改变它)