Python:Got \ xa0而不是CSV中的空格,并且无法删除或转换

德克斯特·朱(Dexter Ju)

我有一个与python(IPython notebook)中的编码问题有关的问题。由于这类问题非常普遍和简单,但我仍然无法真正解决它。

我在这里有一个CSV文件,如您所见,该文件中有很多'\ xa0'和其他'\ n'字符。

我用了

with io.open(train_fname) as f:
for line in f:
    line = line.encode("ascii", "replace")

但是它不起作用,我总是得到以下输出。

想象一下,您可以说,您知道什么,没有制裁,就IEAA法规没有永远的听证会,没有更多隐藏\ xa0under \ xa0友好核能的幌子。\ xa0您有2天的时间;\ xa0i.e。\ xa0let在检查人员中,退出了杀死平民的行列。

我尝试了其他方法,例如

line.replace(u"\xa0", " ")它也不起作用,我还尝试了各种编码来在我的文本编辑(崇高的文本)中打开此CSV文件。我尝试了Windows-1252,utf-8和所有其他编码,但是在查看此CSV文件时,我总是得到\ xa0是我的文本编辑。

这是否意味着

\ xa0

已经作为输入文本写在此CSV文件中了吗?这不是python编码的问题吗?如果是这种情况,为什么我不能使用replace方法简单地替换此字符串?\ xa0表示文件正在使用哪种编码进行编码?这意味着此文件是用utf-8编写的,但是我试图以ascii或其他方式打开它?

我搜索了许多问题,但它们似乎并没有提供太多帮助。如果我的问题不是很清楚,请问我。非常感谢你!

`

罗兰·伊利格(Roland Illig)

\xa0你看到的是4个字符的序列:\ x a 0所有这些字符都是纯ASCII,因此这里没有字符集问题。

显然,您应该解释这些转义序列。您想用空格代替它们的想法很好,但是您必须注意反斜杠字符。当它出现在字符串文字中时,必须编写它\\因此,请尝试以下操作:

line.replace("\\xa0", " ")

或者:

line.replace(r"\xa0", " ")

r在前面的字符串意味着字面解释每个字符,甚至反斜杠。


请注意,CSV文件中的数据充满了不一致之处。例子:

  • \n 可能意味着换行。
  • \\n 也出现了,这也可能意味着换行。
  • \xa0 是一个不间断的空间,以ISO-8859-1编码。
  • \xc2\xa0 是一个不间断的空间,以UTF-8编码。
  • \\xc2\\xa0 也出现,含义相同。
  • \\\\n 也出现。

因此,要从该文件中获取有意义的内容,您应该重复解释转义序列,直到没有任何变化为止。之后,尝试将生成的字节序列解释为UTF-8。如果行得通,那就好。如果不是,则将其解释为Codepage 1252(是ISO-8859-1的超集)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将字符串解析为列python pandas / xa0而不是空格

如何从python中的字符串中删除此\ xa0?

如何从python列表中删除u'\ n \ n \ n \ n \ n \ n \ n \ n \ n'和u'\ xa0'

如何从抓取的数据中删除字符为 '\n' 和 'xa0' 但保留空格?

python post请求引发UnicodeEncodeError:'ascii'编解码器无法编码字符u'\ xa0'

Python HTML编码\ xc2 \ xa0

用空格替换字符串中的 '\xa0'

如何在Python中修复“ UnicodeEncodeError:'ascii'编解码器无法在位置3656编码字符u'\ xa0':序数不在范围(128)中”的错误

如何从列表中删除Unicode中的\ xa0

如何从熊猫字典中删除/ xa0?

在Python中删除空格无法正常工作

在Unicode末尾删除\ xa0

Python Pandas数据透视表如何处理'\ xc2 \ xa0'?

在Python中删除空格

在 Python 中删除空格

无法通过删除python中的垃圾值将csv转换为数组json?

Python无法从返回的字符串中删除空格

解析給出 xa0 而不是 6°C

删除python列表中的空格

Got RuntimeError: unsupported value 当尝试使用 python 将二进制数据插入到 sqlite3 表中的 blob 字段时

Python - 无法删除所有空格

Python TypeError:整数是必需的(got类型列表)

如何在文本数据中清理\ xc2 \ xa0 \ xc2 \ xa0 .....

替换字符串内的不间断空格 \xa0

从 python pandas 中的单词中删除空格

从python中的行中删除空格

如何从 Python 中的图像中删除空格?

Python:从列表对象中删除空格

如何在Python中删除前导空格?