我正在尝试阅读一系列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)
答案 0 :(得分:0)
原因似乎是write.csv在所有字符串周围添加引号,而Excel仅将它们用于包含逗号的字符串。更多信息:
Delete "" from csv values and change column names when writing to a CSV