我有一个包含150万行的csv文件,其中包含2列名称和电子邮件。我想以这样的方式编写程序:当我在R中读取文件时,输出在每个csv中被分段为5000个数据。
也许我可以用循环执行此操作:从第1行运行到5000并将其保存为project1.csv,然后将其保存为5001到10000并保存到project2.csv,然后保存到工作目录中project3.csv中的10001到15000。有什么建议吗?
答案 0 :(得分:2)
假设' df1'是我们需要对每5000行进行分段并将其保存在新文件中的footer
,我们data.frame
数据集是通过基于行序列创建分组索引到split
( list
)。我们循环遍历lst
元素(list
)的序列,并使用lapply(...
编写新文件。
write.csv
答案 1 :(得分:0)
使用purrr
和readr
的答案
n <- 5000
split(df1, ((seq_len(nrow(df1)))-1)%/%n+1L) %>%
purrr::iwalk(., ~ readr::write_csv(.x, paste0("project", .y, ".csv")))