UnicodeEncodeError:' ascii'编解码器无法对字符u' \ u2013'进行编码。位置63:序数不在范围内(128)

时间:2015-01-30 18:01:52

标签: python json unicode encoding utf-8

所以我在.json文件中有一个数据集,我在python中打开它然后我想从中获取数据。我做了一些替代我不想要的各种字符串,比如删除HTML格式等。 然后我把字符串句子写成文件。

问题是我收到了unicode错误。

我用

解决了这个问题
mystring=mystring.encode('utf-8')

在打印/写入文件之前,但是当我在另一个python脚本中打开它时,我现在在对字符串进行比较时得到类似的编码错误。

我如何以一种优雅的方式解决这个问题?

我发现了类似的问题,但没有Json相关,我读了它,json库应该隐式输出unicode。

这是我打开json文件的段

with open("JEOPARDY_QUESTIONS1.json") as json_file:
    json_data = json.load(json_file)
    for item in json_data:

编辑:写入文件

result=result.encode('ascii','ignore')
#removing stuff from string
result+='\n'
if i < 40000:
    i+=1
    if i % 1000 == 0:
        print "adding question #:"+str(i)
    #this write is throwing the unicode error when the encoding line is not there
    f1.write(result) # this used to be print >> f1,result ( and '\n' wasn't added

当我下次收到该文件时:

UnicodeWarning: Unicode equal comparison failed to convert both arguments     to Unicode - interpreting them as being unequal

0 个答案:

没有答案