簡體   English   中英

Canopy UnicodeEncodeError:“ ascii”編解碼器無法對位置31-32中的字符進行編碼:序數不在范圍內(128)

[英]Canopy UnicodeEncodeError: 'ascii' codec can't encode characters in position 31-32: ordinal not in range(128)

我看到了其他標題相同的問題,但它們沒有回答我要尋找的問題。 我在Macbook OS X(山獅)中安裝了本地python 2.7.2,並使用RDFlib軟件包沒有問題。 幾天前,我安裝了Canopy,這是一個不錯的套件,並嘗試運行相同的代碼來解析http://dbpedia.org中的RDF數據並僅從中提取文字。 由於相同的代碼可以在純python中運行,因此我推斷Canopy可能具有某些功能。 有誰知道如何解決這個問題?

這是代碼:

import rdflib
graph = rdflib.Graph()
graph.parse("http://dbpedia.org/resource/Johann_Sebastian_Bach")
output = []
for s, p, o in graph:
    if type(o) == rdflib.term.Literal:
        if o.language=='en' or o.language=='' :
            output.append(o.toPython()) #creating file

for t in output:
    print t

最初,我能夠重現您的錯誤,然后該錯誤消失了(即使重新啟動也是如此)。 我懷疑今天已經清除了不良數據。 我建議您嘗試一下:除了循環內,當確實發生UnicodeEncodeError時捕獲並處理它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM