1

他のいくつかの銀行のデータベースを破壊するプログラムを作成しました。しかし、このプログラムでは、このいくつかのバンクをtxtに保存するので、xlsに保存したいのですが、方法がわかりません。

私は試したfor (nm in Nms) write.table(Res[[nm]], paste(nm, 'xls', sep='.'), sep="\t",dec=",",col.names=TRUE, row.names=FALSE, quote=TRUE, na="NA")

しかし、それはうまくいきませんでした

decup <- function(dados,var){

require(gdata)

dados <- read.xls("dados.xls")

attach(dados)

Res = split(dados, var)

for (nm in Nms) write.table(Res[[nm]], file=paste(nm, 'txt', sep='.'))

for (nm in Nms) zip(paste(nm,'zip',sep='.'),paste(nm,'xls',sep='.'), zip = Sys.getenv("R_ZIPCMD", "zip"))

}

4

1 に答える 1

1

ライブラリ XLConnectを使用して .xlsx ファイルの読み取り/書き込み writeWorksheetを行い、data.frames を保存できます。

library(XLConnect)
## open workbook or create it if doesn't exist
wb <- loadWorkbook("writeWorksheet.xlsx", create = TRUE)
## for each data.frame create a sheet with its data
lapply(seq_along(Res), function(x)
   createSheet(wb, name = paste0("sheet",x))
   writeWorksheet(wb, Res[[x]], sheet = paste0("sheet",x), startRow = 4, startCol = 2)
 }

# Save workbook (this actually writes the file to disk)
saveWorkbook(wb)

編集してワークブックごとに data.frame を保存すると、次のようになります。

lapply(seq_along(Res), function(x){
  wb <- loadWorkbook(paste0("database",x), create = TRUE)
  createSheet(wb, name ='sheet1' )
  writeWorksheet(wb, Res[[x]], sheet = 'sheet1', startRow = 4, startCol = 2)
  saveWorkbook(wb)
})
于 2013-06-23T20:40:00.603 に答える