关于csv:R fread和strip white

R fread and strip white

我有一个带有额外空白的csv文件,我想把它作为数据帧读入r,去掉空白。

这可以通过使用

1
testdata<-read.csv("file.csv", strip.white=TRUE)

问题是数据集很大,大约需要半个小时。fread函数至少快两倍,但没有strip.white函数。

1
2
library("data.table")
testdata<-data.frame(fread("file.csv"))

是否有一种快速的方法可以在阅读后从列中删除空白,或者有什么方法可以使用fread删除空白?

如果只是一次性进口的话,我不会介意那么多,但我需要经常多次这样做。


fread中有一个默认设置为TRUE的参数strip.white,在读取数据集后也可以将data.table = FALSE传递给fread接收data.frame


您可以使用stringr包中的str_trim

1
2
library(stringr)
testdata[,sapply(.SD,str_trim)]

默认情况下,它会修剪两侧的空白,但您可以设置侧面:

1
testdata[,sapply(.SD,str_trim,side="left")]