1

私は出版物データセットに取り組んでおり、xml ファイルからデータを抽出した後、次のようなリストを取得しました。

['21-10-2013', ['título do artigo'],['álvaro', 'joão', 'márcio'],['teste', 'operação','manobras']]

ご覧のとおり、言葉はポルトガル語です。Unicode に変換するために、Kumar McMillan のコードを試してみました。コードは次のとおりです。

>>> def to_unicode_or_bust(obj, encoding='utf-8'):
...     if isinstance(obj, basestring):
...         if not isinstance(obj, unicode):
...             obj = unicode(obj, encoding)
...     return obj
... 

コードを単純な文字列で試してみました: ab= "trabalhar com a imaginação"

出力:

>>> cd=to_unicode_or_bust(ab)
u'trabalhar com a imagina\xe7\xe3o'

print コマンドを発行すると、次のようになります。

>>> print cd
trabalhar com a imaginação

わかりました。問題ないようです。しかし、どうすればリストに応募できますか? 素朴な試み:

>>> lista2 = to_unicode_or_bust(lista1)
>>> print lista2
['21-10-2013', ['t\xc3\xadtulo do artigo'], ['\xc3\xa1lvaro', 'jo\xc3\xa3o', 'm\xc3\xa1rcio'], ['teste', 'opera\xc3\xa7\xc3\xa3o', 'manobras']]

初心者の質問かもしれませんが、lista2で正しいポルトガル語の文字を取得するにはどうすればよいですか?

4

2 に答える 2

-1

文字列自体がある場合は、次の構文を使用できます。

mystring = u'سلام'

u'' python をお持ちでない場合は、Unicode ベースを無視してください。

しかし、印刷コマンド:使用する必要があります:

print str.decode('utf-8')

あなたの変数:

mystring = unicode(myvar)
于 2013-10-01T19:21:29.210 に答える