我试图在为每个元素创建新工作表的同时将每个列表元素的名称分配给write.xlsx中的sheetName。我不确定如何计算sheetNumber部分以获取同一张工作表中的元素。这是一个例子:
list_df = list('a'=data.frame(test1=NA,test2=NA),'b'=data.frame(test3=NA,test4=NA))
purrr::imap(list_df, ~write.xlsx(.x, "test.xlsx", sheetName = .y))
请注意,此新编辑是另一位成员的部分解决。
你可以用 purrr::pwalk
purrr::pwalk(
list(list_df, names(list_df), names(list_df) != names(list_df)[1]),
function(x, y, z) write.xlsx(x, "test.xlsx", sheetName = y, append = z))
第三个z
参数是逻辑矢量的条目,该逻辑矢量FALSE
用于列表的第一个元素和TRUE
所有其他元素,并确定是否将图纸附加到Excel文件(除第一个元素外的所有列表元素均为true)。
请注意,这是基于包中的write.xlsx
功能的xlsx
。似乎openxlsx::write.xlsx
可以直接将命名列表写到多个工作表中,请参阅@RonakShah的答案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句