非ASCII字符'\ xc5'打破python脚本

时间:2017-07-06 16:25:31

标签: javascript python arrays

我的node.js服务器输出以下数组:

["Daniel Guillen","Sarah Tremaine Milam","Karen Ann"...."Chris Doyle","Katie Gould"]

我正在尝试使用python脚本将其转换为csv文件但是当我在.py文件中声明该数组时,我收到以下错误:

SyntaxError: Non-ASCII character '\xc5' in file toCSV.py

该阵列由来自Facebook的人名组成,因此某个地方某人的名字中有一个奇怪的角色。手动搜索太长了。

您如何建议解决此问题或找到违规字符?在交给python之前在javascript中迭代数组也是一种选择。

2 个答案:

答案 0 :(得分:2)

如果数组嵌入在python脚本中,那么您可能需要在python文件的开头设置编码。为此,请在任何代码之前添加以下行:

# -*- coding: utf-8 -*-

这会将源代码编码设置为UTF-8。

答案 1 :(得分:1)

您可以使用编解码器(您必须导入它)来读取utf8(非ascii)字符。像这样:

csvfile = codecs.open(outputFileName+".csv", 'w+', 'utf8')

那将是写入输出文件。如果您想要阅读文件,只需更改' w +'到了' r。 对于单个字符串,您还可以使用方法" string" .encode(' utf8') 如果从另一个文件中读取该问题,则可以解决该问题。如果您在正在运行的文件中使用它,则需要通过添加

来设置编码
# -*- coding: utf-8 -*- 

在文件顶部