只读取前导 0 的一列并将其保留在包含 300 多列的 csv 文件中

Reading only one column with leading 0 and retainng it in a csv file with over 300 columns

我有一个很大的 CSV 文件,此处显示了预览:

ID,NUMBER,RLNUMBER,START_DATE,ID1,ID2,....................................................,ID305
1,0100000109,623,2012-01-01,TT,06,........................................................,ADD
2,200000109,515,2013-09-23,FF,009,........................................................,BCC
3,0600000109,611,2014-11-15,HH,90,..........................................................,DGG

如您所见,NUMBER 列有一些值带有前导“0”,一些值没有前导“0”。同样对于列 ID2.

我的要求是我必须将这个CSV文件的内容移动到另一个CSV文件中。输出 CSV 文件的内容应如下所示:

ID,NUMBER,RLNUMBER,START_DATE,ID1,ID2,....................................................,ID305
1,0100000109,623,2012-01-01,TT,6,........................................................,ADD
2,200000109,515,2013-09-23,FF,9,........................................................,BCC
3,0600000109,611,2014-11-15,HH,90,...........................................................DGG

请注意,列 NUMBER 的值连同它们的前导“0”一起保留在输出 CSV 文件中,而列 ID2 中的所有值的前导“0”都已被删除。

为此,我只需要将列 NUMBER 和该列作为矢量类型 'character' 读取到数据帧中,然后将数据帧写入输出 CSV 文件(我认为)。

我知道使用

    data_frame<-read.csv("filename",Colclasses = c("integer","character","integer"......)

我可以在读取输入 CSV 文件时为每一列指定矢量类型。但是对超过 300 列这样做是非常困难的。那么有没有其他方法可以做到这一点?

我是 Rscript 的新手(今天才开始),非常感谢任何帮助。

您可以试试(据我所知,您只对数字列感兴趣):

data_frame <- read.csv("filename", colClasses=c("NUMBER" = "character"))