write.csv 在将数据帧写入磁盘时弄乱了 header 名称

write.csv is messing header names when writing data frame to disk

我正在使用 write.csv:

将一堆数据帧写入磁盘
data_frames <- Filter(function(x) is(x, "data.frame"), mget(ls()))

for (i in 1:length(data_frames)) {

 file_name<- paste0("data/to_save/",names(data_frames[i]),".csv")

 write.csv(data_frames[i], file = file_name, row.names = FALSE, col.names = TRUE)

} 

问题是 header 像这样将文件名添加到每个列名中(用记事本打开文件):

"April2016_file.customer_id","April2016_file.customerName","April2016_file.customerSurname".......

使用 write.table 和使用包 rio

中的 export 脚本的行为相同

要求的结果:

"customer_id","customerName","customerSurname"....

我们需要提取带有 [[list 元素,因为 [ 仍然是带有单个 data.frame

list
for (i in seq_along(data_frames)) {
  file_name<- paste0("data/to_save/",names(data_frames[i]),".csv")
   write.csv(data_frames[[i]], file = file_name, row.names = FALSE, col.names = TRUE)
}