-2

我有一个包含 2000 行的数据框。我只想一次将 99 行保存到 csv 文件中。是否可以编写具有 99 个连续数据帧行的多个 csv 文件,即 1980 行的 20 个 99 行的文件,以及包含 20 行的最终 csv 文件?

此外,考虑到创建的文件数量,是否可以在文件名输出中添加 _1、_2、_3 等以确保它们易于定义?

4

1 回答 1

2

这应该工作

library( data.table )
#create sample data    
dt = data.table( 1:2000 )
#split dt into a list, based on (f = ) the integer division (+ 1) of the 'rownumbers' 
# by the preferred chuncksize  (99)
# use keep.by = TRUE to keep the integer division (+ 1) result 
# for naming the files when saving
l <- split( dt, f = dt[, .I] %/% 99 + 1, keep.by = TRUE )
#simple for loop, writing each list element, using it's name in the filename
for (i in 1:length(l)) {
  write.csv( data.frame( l[[i]]), file = paste0( "./testfile_", names(l[i]), ".csv" ) )
}

结果是
在此处输入图像描述

于 2019-11-06T11:42:02.147 回答