我有一个RDF文件,其中大多数对象由转义的Unicode字符组成,如下所示:
...
<http://dbpedia.org/resource/Ry%C5%8Dgoku_Kokugikan> <http://www.w3.org/2000/01/rdf-schema#label> "\u4E21\u56FD\u56FD\u6280\u9928"@ja .
<http://dbpedia.org/resource/Tunisia> <http://www.w3.org/2000/01/rdf-schema#label> "\u30C1\u30E5\u30CB\u30B8\u30A2"@ja .
...
我想使用Python脚本读入这个文件,并将这些对象转换为可读文本,即对于上面的示例,我希望得到以下输出:
両国国技館
チュニジア
到目前为止,我的代码如下所示:
import codecs
for line in codecs.open("labels-en-uris_ja.nt","r","utf-8"):
tmp = line.split(" ")
label = tmp[2]
label = label.split("@")[0]
label = label.replace("\"","")
print u"{0}".format(label)
但是,这将返回转义的Unicode字符,即
\u4E21\u56FD\u56FD\u6280\u9928
\u30C1\u30E5\u30CB\u30B8\u30A2
在代码的最后一行中使用print label
可以得到完全相同的结果。但是,print u"\u4E21\u56FD\u56FD\u6280\u9928"
给出了所需的输出,因此我假设读取该文件的方式有问题。什么是产生我想要的输出的正确方法
您可以在string对象上使用
.decode("unicode_escape")
函数来实现这一点相关问题 更多 >
编程相关推荐