반응형
Excel의 열 너비를 R로 정의
최종 제품은 250개 이상의 열을 가진 엑셀 CSV 스프레드시트입니다.혹시 R에서 엑셀로 열 너비를 결정할 수 있는 방법이 있는지 궁금합니다.
저는 write.csv2를 사용하고 있는데, 이는 모두 8,43과 같은 엑셀의 열폭을 만들어냅니다.
write.tw2(df, na = ", file= "Final.csv")
가능하다면 모든 것을 한 번에 바꾸거나 특정한 것만 바꿀 수 있는 방법을 찾고 있습니다.R에서 VBA를 실행하는 것이 내 유일한 선택입니까?
도와주셔서 감사드려요!
패키지 xlsx 확인 부탁드립니다.엑셀 파일 생성에 사용하고 있는데 꽤 좋습니다.도움이 되는 방법으로 ColumnWidth를 설정할 수 있습니다.xlsx 패키지 기능에 대한 보다 자세한 예를 보려면 여기를 확인하십시오.
여기 패키지를 이용한 작업 예시가 있습니다.xlsx
.
df <- data.frame(matrix(rnorm(100),nc=10))
library(xlsx)
# must save as an xls or xlsx file...
write.xlsx(df,"Final.xlsx", row.names=FALSE)
# load it back
wb <- loadWorkbook("Final.xlsx")
sheets <- getSheets(wb)
# set widths to 20
setColumnWidth(sheets[[1]], colIndex=1:ncol(df), colWidth=20)
saveWorkbook(wb,"Final.xlsx")
# autosize column widths
autoSizeColumn(sheets[[1]], colIndex=1:ncol(df))
saveWorkbook(wb,"Final.xlsx")
수용된 답변에 대한 약간의 개선: 파일을 다시 읽고 수정하기 위해 파일을 쓰는 것은 그다지 우아하지 않습니다.게다가 xls 파일을 덮어쓰는 경험을 했습니다.saveWorkbook
파일이 "손상"될 수 있습니다(즉, Excel은 파일을 열 때 복구해야 합니다).
이를 방지하기 위해 다음과 같이 진행할 수 있습니다.
df <- data.frame(matrix(rnorm(100), nc=10))
library(xlsx)
wb <- createWorkbook(type = "xlsx")
sheet <- createSheet(wb, sheetName = "rnormdata")
addDataFrame(df, sheet, row.names = FALSE)
setColumnWidth(sheet, colIndex = 1:3, colWidth = 20)
autoSizeColumn(sheet, colIndex = 4:ncol(df))
saveWorkbook(wb, "Final.xlsx")
데이터 세트의 각 열에 대해 특정 너비를 설정할 수 있습니다.
for(c in 1:ncol(yourData)){
setColumnWidth(sheetIndex,colIndex=c,colWidth=max(nchar(c(names(yourData[c],yourData[,c])))))
}
언급URL : https://stackoverflow.com/questions/27322110/define-excels-column-width-with-r
반응형
'programing' 카테고리의 다른 글
시퀀스에서 ID를 생성하기 위한 Oracle Trigger의 하이버넌트 문제 (0) | 2023.09.14 |
---|---|
Wordpress 블로그의 RSS 피드에서 MathJax 사용 (0) | 2023.09.14 |
팬더 데이터 프레임에서 두 열의 값을 단일 열로 병합합니다. (0) | 2023.09.14 |
(WP-CLI) Wordpress-Tests_Lib 파일이 생성되지 않음 (0) | 2023.09.14 |
JAXB: 마샬이 가치를 창출하는 방법 (0) | 2023.09.14 |