首页 > 解决方案 > 使用 write_xlsx 将数据帧列表从 R studio 写入 Excel 时分配 Excel 工作表名称

问题描述

我对 R 编程比较陌生,我有一个问题,如果我的办公室计算机上的 Java 阻塞,如何在不使用 write.xlsx 的情况下将 R 中的多个数据帧写入 Excel 中的多个工作表

我在一个目录中有 4 个 csv 文件

这些 CSV 文件的名称被读入一个名为“网络”的变量中

...

Network = list.files(pattern ="*.csv")

...

因为从 PowerFactory 出来的数据是在 csv 中写入的,两行(第一行 columntitle)分布在 csv 文件中的 700 列中,当它们也是 1 比 1 读入 R Studio 时,对文件本身应用了几个操作 FOR循环并将操作应用于数据。在 FOR 循环结束时,将生成的数据帧与交替的原始 csv 文件的 4 列添加到名为“Totaal”的列表中

此列表“Totaal”最后包含 4 个数据帧或与原始目录中的文件一样多的文件。

之后,使用函数 Write_xlsx 将完整列表“Totaal”写入 Excel,在此 Excel 文件中创建了 4 个包含 4 个数据框的工作表。我使用它是因为 write.xlsx 不能在我的办公室计算机上运行,​​因为 Java 被禁用。

我想要发生的是 Excel 文件中的工作表接收(部分)原始 CSV 文件的原始文件名,并且这些名称存储在变量“网络”中。

希望有人能给我答案,如何在生成的 Excel 文件中为工作表分配所需的名称。

...

Network = list.files(pattern ="*.csv")
files = sapply(Network, read_csv2)

...

数据以正确的格式更改和传输

#reslting 数据被放入每个原始 csv 文件的一个结果数据帧中 df_Hosting_Capacity <- data.frame(MSR[,1], Max_Host_Cap, Max_Bel, Max_Vol, Min_Vol,Deelnetten[[n]])

#根据原始 csv 文件的数量 (n),结果列表包含 (n) 个数据帧

...

if(n==1){
Totaal <- list(df_Hosting_Capacity)
} else {
  Totaal <- df_Hosting_Capacity
}

...

#结果“Totaal”被写入Excel文件。在这里,我还想定义 (n) 个创建的工作表的名称。理想的工作表包含(一部分)原始 csv 文件的名称。

...

write_xlsx(Totaal,"Resultats.xlsx")

...

非常感谢您的建议。

标签: exceldataframeworksheet

解决方案


推荐阅读