Python 2.7 - Elasticsearch - SyntaxError: Non-ASCII character '\xc3'
Python 2.7 - Elasticsearch - SyntaxError: Non-ASCII character '\xc3'
我在 python 2.7 中使用 elasticsearch。我必须分析和存储大量文本;经常出现如下错误:
语法错误:非 ASCII 字符 ...
我写了以下代码进行测试:
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.
在阅读了关于 Whosebug 的其他答案后,我尝试了:
unicode(test, errors='ignore')
但是还是一样的错误。我不知道如何管理这些特殊字符。
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()
的使用。恕我直言,unicode()
不应该在没有给定编码的情况下使用
我在 python 2.7 中使用 elasticsearch。我必须分析和存储大量文本;经常出现如下错误: 语法错误:非 ASCII 字符 ... 我写了以下代码进行测试:
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.
在阅读了关于 Whosebug 的其他答案后,我尝试了:
unicode(test, errors='ignore')
但是还是一样的错误。我不知道如何管理这些特殊字符。
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()
的使用。恕我直言,unicode()
不应该在没有给定编码的情况下使用