Rod*_*igo 8 csv byte-order-mark r utf-8 file-encodings
我将Excel表保存为文本(*.txt).不幸的是,Excel不允许我选择编码.所以我需要在记事本(打开为ANSI)中打开它并将其保存为UTF-8.然后,当我在R中读到它时:
data <- read.csv("my_file.txt",header=TRUE,sep="\t",encoding="UTF-8")
Run Code Online (Sandbox Code Playgroud)
它显示以"XUFEFF."开头的第一列的名称.我知道这些是保留的字节,告诉任何程序该文件是UTF-8格式.所以它不应该显示为文本!这是一个错误吗?或者我错过了一些选择?提前致谢!
zwo*_*wol 12
所以我打算给你关于如何手动打开文件并检查并丢弃BOM的说明,但后来我注意到了这个(in ?file):
从R 3.0.0开始,编码"UTF-8-BOM"被接受并将删除字节顺序标记(如果存在)(通常用于Microsoft应用程序生成的文件和网页).
这意味着如果你有一个足够新的R解释器,
read.csv("my_file.txt", fileEncoding="UTF-8-BOM", ...other args...)
Run Code Online (Sandbox Code Playgroud)
应该做你想做的事.