inverse_unf_l<- read_excel(excel_path,1)[0]
for (i in (1:length(excel_sheets(excel_path)))){
inverse_unf_l <- rbind(inverse_unf_l , read_excel(excel_path,i))
}
很久没有这个需求了,忘了怎么操作。写一下记录作为备忘吧。貌似很多包都可以实现,可要么就是写在了同一个sheet里,要么就是把行名自动省略了,改不回来的那种。
试了几次有一个包可以完美实现: openxlsx
比方说我有10个数据框。 res_PC1 , res_PC2 ...
然后想要分别写入10个sheet,sheet名是 PC1 , PC2 ...
并且需要保留行名。
完美实现。一开始最后一行写错了指令,被贴心的自动修正了。好评。
以下有三种方法:
根据需求读取对应的sheet1
综合来看,openxlsx的方法简单粗暴,而且经多名骨灰级玩家证明,罕有bug出现。乃R语言和Excel读取的绝对神器。不过笔者也发现,openxlsx包仅适用于.xlsx格式文件。前期的xls格式文件可能还需要前两种方法来读取。除了以上三种方法,还有类似的包如xlsx、readxl。此处依旧强推神器openxlsx。首先,.xlsx文件存储行数大大提升,从65536行数据提升到了104万条数据。其次,它十分便捷,函数所需参数较少。当然最后的最后,它可能需要的R的版本比较的新。
用 openxlsx包 写入Excel