在循环中编写多个CSV文件

时间:2015-10-10 13:05:16

标签: r csv xls

我有一个包含150万行的csv文件,其中包含2列名称和电子邮件。我想以这样的方式编写程序:当我在R中读取文件时,输出在每个csv中被分段为5000个数据。

也许我可以用循环执行此操作:从第1行运行到5000并将其保存为project1.csv,然后将其保存为5001到10000并保存到project2.csv,然后保存到工作目录中project3.csv中的10001到15000。有什么建议吗?

2 个答案:

答案 0 :(得分:2)

假设' df1'是我们需要对每5000行进行分段并将其保存在新文件中的footer,我们data.frame数据集是通过基于行序列创建分组索引到splitlist)。我们循环遍历lst元素(list)的序列,并使用lapply(...编写新文件。

write.csv

答案 1 :(得分:0)

使用purrrreadr的答案

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