为什么R会使我的CSV文件变大?

时间:2015-03-03 17:24:17

标签: r csv

我正在尝试阅读一系列CSV文件并准备好以便以后添加。在我追加它们之前,我需要创建一个列,告诉我它们来自哪个原始文件。在这种情况下,它们是企业的分支。我目前正在使用数字代码来减少文件大小的增加量。

我的文件大小从读取的CSV到写入的大幅跳跃。如果不添加“divisions”列(下面注释掉),我的文件大小会增加如下:

19,111 KB至24,458 KB; 71,331 KB至89,989 KB; 33,919 KB到42,898 KB

有人可以解释一下吗?有没有办法改进代码?

谢谢!

insert.division <- function(fileroot, divisionname){

    ext <- ".csv"
    file <- paste(fileroot, ext, sep = "")
    data <- read.csv(file, header = TRUE, stringsAsFactors = FALSE)
    #data$division <- divisionname
    write.csv(data, file = paste(fileroot, "_adj3", ext, sep = ""),
        row.names = FALSE)

}

files <- c(
    "file1",
    "file2",
    "file3",
    "file4",
    "file5"
)

divisions <- c(1:5)

mapply(insert.division, fileroot = files, divisionname = divisions)

1 个答案:

答案 0 :(得分:0)

原因似乎是write.csv在所有字符串周围添加引号,而Excel仅将它们用于包含逗号的字符串。更多信息:
Delete "" from csv values and change column names when writing to a CSV