R 在循环中写入多个CSV文件

R 在循环中写入多个CSV文件,r,csv,xls,R,Csv,Xls,我有一个150万行的csv文件,其中包括两列名称和电子邮件。我想写一个程序,这样当我在R中读取我的文件时,每个csv中的5000个数据的输出被分割 也许我可以通过循环来实现这一点:从第1行运行到5000行,并将其保存为project1.csv,然后从5001保存到10000,再保存到project2.csv,然后在我的工作目录中的project3.csv中从10001保存到15000。有什么建议吗?假设'df1'是数据框,我们需要每5000行对其进行分段并将其保存在一个新文件中,我们通过根据列表

我有一个150万行的csv文件,其中包括两列名称和电子邮件。我想写一个程序,这样当我在R中读取我的文件时,每个csv中的5000个数据的输出被分割


也许我可以通过循环来实现这一点:从第1行运行到5000行,并将其保存为project1.csv,然后从5001保存到10000,再保存到project2.csv,然后在我的工作目录中的project3.csv中从10001保存到15000。有什么建议吗?

假设'df1'是
数据框
,我们需要每5000行对其进行分段并将其保存在一个新文件中,我们
通过根据
列表的行序列创建分组索引来拆分数据集(
lst
)。我们循环遍历
列表
元素的序列(
lappy(…
),并使用
write.csv
编写新文件

n <- 5000
lst <-  split(df1, ((seq_len(nrow(df1)))-1)%/%n+1L)
invisible(lapply(seq_along(lst), function(i) 
   write.csv(lst[[i]], file=paste0('project', i, '.csv'), row.names=FALSE)))

n使用
purr
readr

n <- 5000
split(df1, ((seq_len(nrow(df1)))-1)%/%n+1L) %>%
  purrr::iwalk(., ~ readr::write_csv(.x, paste0("project", .y, ".csv")))
n%
purrr::iwalk(,~readr::write_csv(.x,paste0(“项目“,.y,.csv”))

谢谢,太棒了,它成功了……你几乎拯救了我的一天,如果我有7个专栏而不是2@Sandy2511它应该是相同的代码,因为拆分依赖于行而不是列。