使用UTF-16LE编码读取csv的快速方法

时间:2016-04-26 10:31:44

标签: r utf-16le

我正在使用UTF-16LE编码处理.csv文件,此方法用于读取文件,但与read_csv相比,read.csv非常慢。

  read.csv2(path,dec=",",skip=1,header=T,fileEncoding="UTF-16LE",sep="/t")

不幸的是我无法使read_csv工作,我只得到空行而且我找不到在函数中指定编码的方法。

我无法分享我的数据,但如果有人处理此编码,我们将不胜感激。

2 个答案:

答案 0 :(得分:1)

您可以使用区域设置选项locale=locale(encoding="UTF-16LE")指定带有readr函数(如read_csv)的文件编码。但是,我还没有成功读入带有read_csv的utf-16le文件。我得到一个"不完整的多字节序列"错误。这是一个相关的issue filed,但我的文件仍有问题 - 希望其他人会有更多的成功。

答案 1 :(得分:-3)

您可以尝试从fread包中data.tablefreadread_csv快。代码可以是下面的代码。

library(data.table)
fread(path, fileEncoding="UTF-16LE")

希望这有帮助。