我有这个文件(http://b7hq6v.alterupload.com/en/),我想在R中阅读read.csv.但我无法检测到正确的编码.它似乎是一种UTF-8.我在WindowsXP机器上使用R 2.12.1.任何帮助?
我有一个子进程命令输出一些字符,如'\ xf1'.我正在尝试将其解码为utf8但我收到错误.
s = '\xf1'
s.decode('utf-8')
Run Code Online (Sandbox Code Playgroud)
以上抛出:
UnicodeDecodeError: 'utf8' codec can't decode byte 0xf1 in position 0: unexpected end of data
Run Code Online (Sandbox Code Playgroud)
当我使用'latin-1'但是不应该使用utf8时它可以正常工作吗?我的理解是latin1是utf8的子集.
我在这里错过了什么吗?
编辑:
print s # ñ
repr(s) # returns "'\\xa9'"
Run Code Online (Sandbox Code Playgroud) 我正在清理基于文本的数据文件,但无法弄清楚为什么gsub("[[:punct:]]", "", X1)不匹配所有标点符号。不幸的是,我无法在这里复制这个问题,这让我认为这是一个字符编码问题——有问题的标点符号的外观与标准 ASCII 明显不同。
这是我读入文件后可以解决的问题,还是我必须在前端做些什么?例如,Hadley关于编码问题的帖子让我觉得我在读取文件时需要指定编码语句。但是,我正在从一个文件夹中读取一堆不同的 txt 文件,所以我不确定最佳解决方案。基本上,我只想保留所有字母 [A-Za-z] 并排除其他所有字母。(也就是说,gsub([^A-Za-z], "", X1)也不起作用!)
任何有关处理此问题的建议将不胜感激!