데이터 크기가 작은 경우 R에는 요구 사항에 따라 활용할 수있는 많은 패키지와 기능이 있습니다.
write.xlsx, write.xlsx2, XLconnect 도 작업을 수행하지만 때때로 openxlsx에 비해 느립니다 .
따라서 대용량 데이터 세트를 처리하고 Java 오류가 발생하면. 정말 멋진 "openxlsx" 를 보시고 시간을 1/12로 줄이는 것이 좋습니다 .
나는 모든 것을 테스트했고 마침내 openxlsx 기능의 성능에 깊은 인상을 받았습니다.
다음은 여러 데이터 세트를 여러 시트에 쓰는 단계입니다.
install.packages("openxlsx")
library("openxlsx")
start.time <- Sys.time()
x <- as.data.frame(matrix(1:4000000,200000,20))
y <- as.data.frame(matrix(1:4000000,200000,20))
z <- as.data.frame(matrix(1:4000000,200000,20))
wb <- createWorkbook("Example.xlsx")
Sys.setenv("R_ZIPCMD" = "C:/Rtools/bin/zip.exe")
Sys.setenv ( "R_ZIPCMD"= "C : /Rtools/bin/zip.exe")는 Rtools에서 일부 유틸리티를 참조하므로 정적이어야합니다.
참고 : 시스템에 Rtools가 설치되어 있지 않은 경우 원활한 경험을 위해 먼저 설치하십시오. 참조 용 링크 : (적절한 버전 선택)
https://cran.r-project.org/bin/windows/Rtools/
아래 링크에 따라 옵션을 확인하십시오 (설치하는 동안 모든 확인란을 선택해야 함).
https://cloud.githubusercontent.com/assets/7400673/12230758/99fb2202-b8a6-11e5-82e6-836159440831.png
addWorksheet(wb, "Sheet 1")
addWorksheet(wb, "Sheet 2")
addWorksheet(wb, "Sheet 3")
writeData(wb, 1, x)
writeData(wb, 2, x = y, withFilter = TRUE)
writeDataTable(wb, 3, z)
saveWorkbook(wb, file = "Example.xlsx", overwrite = TRUE)
end.time <- Sys.time()
time.taken <- end.time - start.time
time.taken
openxlsx 패키지는 엑셀 파일에서 /에서 방대한 데이터를 읽고 쓰는 데 정말 좋으며 Excel 내에서 사용자 지정 서식 지정을위한 많은 옵션이 있습니다.
흥미로운 사실은 여기서 자바 힙 메모리에 대해 신경 쓸 필요가 없다는 것입니다.
createSheet
새 시트를 만든 다음 루프에서 쓸 수 있는 기능이 있습니다. 또한 XLConnect 의 동등한 기능 이 벡터화되어 데이터 프레임 목록을 여러 시트에 쓸 수 있습니다.