djh*_*rio 15 unicode byte-order-mark r utf-8 character-encoding
我有一个文本文件,开头有字节顺序标记(U + FEFF).我试图在R中读取文件.是否可以避免字节顺序标记?
函数fread
(来自data.table
包)读取文件,但?»æ
在第一个变量名的开头添加:
> names(frame_pers)[1]
[1] "?Ⱦreg_date"
Run Code Online (Sandbox Code Playgroud)
同样是与read.csv
功能.
目前我已经创建了一个从第一列名称中删除BOM的功能,但我相信应该有一种方法来自动剥离BOM.
remove.BOM <- function(x) setnames(x, 1, substring(names(x)[1], 4))
> names(frame_pers)[1]
[1] "?Ⱦreg_date"
> remove.BOM(frame_pers)
> names(frame_pers)[1]
[1] "reg_date"
Run Code Online (Sandbox Code Playgroud)
我正在使用R会话的本机编码:
> options("encoding" = "")
> options("encoding")
$encoding
[1] ""
Run Code Online (Sandbox Code Playgroud)
had*_*ley 26
你试过read.csv(..., fileEncoding = "UTF-8-BOM")
吗??file
说:
从R 3.0.0开始,编码'"UTF-8-BOM"'被接受并将删除字节顺序标记(如果存在)(通常用于Microsoft应用程序生成的文件和网页).
这是在版本1.9.6和1.9.8之间使用此提交处理的 ; 更新您的data.table
安装以解决此问题.
完成后,您可以使用fread
:
fread("file_name.csv")
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11306 次 |
最近记录: |