Kva*_*nir 11 csv excel formatting r
最终产品是Excel CSV电子表格,其中包含250多列.我想知道是否有办法从R中确定Excel中的列宽?
我使用的是write.csv2,它在excel中产生的列宽等于8,43.
write.csv2(df,na ="",file ="Final.csv")
如果可能的话,我正在寻找一个可以同时改变所有这些或只改变特定的技巧的技巧.是来自R运行VBA我唯一的选择?
谢谢您的帮助!
Dus*_*sic 19
请检查包xlsx.我用它来生成excel文件,它非常好.有一个方法setColumnWidth可以帮助你.有关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")
Run Code Online (Sandbox Code Playgroud)
对接受的答案的一个小改进:编写一个文件只是为了再次读取和修改它不是很优雅。此外,我的经验是覆盖 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")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6641 次 |
| 最近记录: |