查看原文
其他

【原创推荐】 使用R写入Excel方法总结

2016-12-16 Marxsong R语言中文社区

   数据部门在和公司其他部门打交道过程中,将数据写入Excel文件经常会涉及到(从各种临时需求到日常数据报告Dashboard等等)。


        通过Rdocumentation(http://www.rdocumentation.org)查询write to excel,会有15个R包、25个具体函数可能相关,如下图:


        我们有很多选择能完成写入Excel文件任务,本文推荐两个在实践中较常用的R包:xlsx包和XLConnect包。这两个包作者都是通过Java来写入Excel文件,所以性能相对比较稳定。


        那我们来看下这两个包的具体示例:


 xlsx包

首先,创建数据集:

sample.dataframe

如果你Excel文件没有创建,则可以直接将数据写入到新Excel文件中:

1

2

3

library(xlsx) #load the package

write.xlsx(x = sample.dataframe, file = "test.excelfile.xlsx",

        sheetName = "TestSheet", row.names = FALSE)

如果Excel文件已经存在,则可以写入数据到新的sheet,或者直接写到现有的sheet中,如workbook.sheets workbook.test 


1

2

3

addDataFrame(x = sample.dataframe, sheet = workbook.test,

   row.names = FALSE, startColumn = 4) # 从第一行、第四列写入数据

saveWorkbook(workbook.sheets, "test.excelfile.xlsx") #保存文件


 XLConnect包


 第一步:制作Excel模版文件



1

2

3

library(XLConnect) #load the package


ExcelFile <- "/home/songning/scoreCard-new/DailyScoreCard_20160307.xls"  ## 模版

template <- paste0("/home/songning/scoreCard-new/ResultOutput/DailyScoreCard_",Sys.Date()-1,".xls") ## 文件名

file.copy(ExcelFile, template) ## 拷贝模版文件




 第二步:写入数据到Excel


1

2

3

writeWorksheetToFile(template, data=data_frame, sheet="sheet1",header = F,startRow=4, startCol = 2)

## 从第四行、第二列写入模版文件中sheet1表中。


具体函数的参数解释,大家可以参考帮助文件。


参考:

Rdocumentation:http://www.rdocumentation.org;

XLConnect: Excel Connector for R:https://cran.r-project.org/web/packages/XLConnect/index.html;

xlsx: Read, write, format Excel 2007 and Excel 97/2000/XP/2003 files

:https://cran.r-project.org/web/packages/xlsx/index.html。


End


12月22日(周四)听韦玮讲解Spark网站流量异常大规模检测案例实战,大家不要错过啊。

参与方式:阅读原文报名 | 扫描下方二维码



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存