迭代大型数据框以编写单独的 Excel 电子表格 [英] Iterating over large dataframe to write individual Excel spreadsheets
问题描述
我想根据您在下面看到的 MVNDR 编号编写独特的电子表格
I want to write unique spreadsheets based on the MVNDR number you see below
当前数据结构/数据框
Quote Date eSVS Order Nbr MVNDR Name
2021-05-24 H6328-206574 60710435 Joe
2021-05-27 H8926-157085 60710435 Joe
2021-05-24 H6328-206574 60710435 Carl
2021-05-27 H8926-157085 60710435 Carl
2021-05-24 H6328-206574 60710435 John
2021-05-27 H8926-157085 60710435 John
唯一电子表格中的所需输出
电子表格1 &所需路径名称:C:\Users\santi\Documents\R_Scripts\MVNDR_Joe
Spreadsheet1 & Desired Path Name: C:\Users\santi\Documents\R_Scripts\MVNDR_Joe
Quote Date eSVS Order Nbr MVNDR Name
2021-05-24 H6328-206574 60710435 Joe
2021-05-27 H8926-157085 60710435 Joe
电子表格2 &所需路径名称:C:\Users\santi\Documents\R_Scripts\MVNDR_John
Spreadsheet2 & Desired Path Name: C:\Users\santi\Documents\R_Scripts\MVNDR_John
Quote Date eSVS Order Nbr MVNDR Name
2021-05-24 H6328-206574 60710435 John
2021-05-27 H8926-157085 60710435 John
电子表格3 &所需路径名称:C:\Users\santi\Documents\R_Scripts\MVNDR_Carl
Spreadsheet3 & Desired Path Name: C:\Users\santi\Documents\R_Scripts\MVNDR_Carl
Quote Date eSVS Order Nbr MVNDR Name
2021-05-24 H6328-206574 60710435 Carl
2021-05-27 H8926-157085 60710435 Carl
推荐答案
我已经找到问题所在,我应该早点发现.
I've found what the problem is, and I should have spotted it earlier.
由于现在每个组有多个记录,x$Name
返回一个向量,每个记录的名称都重复.
Since there's now more than one record for each group x$Name
returns a vector with the name repeated for each record.
我们只需要名称即可轻松提取.
We only need the name and we can easily extract that.
这是更新后的代码.
library(dplyr)
library(xlsx)
dat <- read.csv('data.csv')
dat_grouped <- dat %>% group_by(Name)
lapply(group_split(dat_grouped), function(x){write.xlsx(x, paste0(x$Name[1], ".xlsx"))})
这篇关于迭代大型数据框以编写单独的 Excel 电子表格的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!