0

私はpython 2.7でelasticsearchを使用しています。私は多くのテキストを分析して保存する必要があります。多くの場合、次のエラーが表示されます。 にSyntaxError:非ASCII文字... は、私はテストのために次のコードを書いた:Python 2.7 - Elasticsearch - SyntaxError:非ASCII文字 ' xc3'

import elasticsearch 

es = elasticsearch.Elasticsearch("127.0.0.1:9200") 
test = 'sarà' 
doc = { 
'ID':'123456', 
'field':unicode(test, errors='ignore'), 
    } 
es.index('test_db','test',doc) 

エラーは次のとおりです。

SyntaxError: Non-ASCII character '\xc3' in file /home/user/PycharmProjects/ubuntu/asciiTest.py on line 4, but no encoding declared.

stackoverflowの上の他の答えを読んだ後、私は試しました:

unicode(test, errors='ignore') 

もう一度同じエラーが発生しました。これらの特殊文字の管理方法はわかりません。

答えて

1

Pythonは、ASCII以外の文字を使用していますが、ソースコードの形式を宣言していないことを伝えています。

エラーは通常、PEP-263をご参照メッセージを伴っている - あなたは単にあなたのソースコードの先頭に以下を追加することができますhttps://www.python.org/dev/peps/pep-0263/

# coding=<encoding name> 

<encoding name>エンコードあなたですソースコードに使用されています。 utf-8を使用することをお勧めします。

非ASCIIを使用する場合は、Unicode文字列を使用する必要があります。文字列の値の前に単にuを追加することでこれを達成できます。

など。

test = u'sarà' 

unicode()のすべての用途を削除します。 IMHO、unicode()は、指定されたエンコーディングなしで使用されるべきではありません

関連する問題