我有一个与Python(IPython笔记本)编码问题相关的问题。由于这些问题非常普遍且简单,但我仍然无法真正解决它。
我在这里有一个CSV文件,您可以看到我们在此文件中有许多'\xa0'和其他'\n'字符。
我使用了
with io.open(train_fname) as f:
for line in f:
line = line.encode("ascii", "replace")
但这并没有起作用,我总是得到以下输出。
想象一下,你能够说:你知道吗,不要制裁,也不要永远就IEAA法规进行听证,也不要再以友好的核能为借口而隐藏。你们有2天时间;即允许检查员进入,停止屠杀平民。
我尝试了其他方法,如:
line.replace(u"\xa0", " ")
,这也没有起作用,我还尝试了在文本编辑器、Sublime Text中打开此CSV文件的所有编码,如Windows-1252、UTF-8,但每次查看此CSV文件时都会得到\xa0。
这是否意味着\xa0已经被写入此CSV文件作为输入文本?这不是Python编码的问题吗?如果是这种情况,为什么我不能使用 replace 方法来简单地替换此字符串?\xa0表示该文件采用哪种编码方式进行编码?这意味着该文件是以UTF-8编写的,但我尝试以ASCII或其他情况打开它了吗?
我搜索了很多问题,但它们似乎没有提供太多帮助。如果我的问题不太清楚,请问我。 非常感谢!
`
replace()
方法不是原地操作。 - Ignacio Vazquez-Abrams