最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

R語言-如何循環(huán)讀取excel并保存為RData

 更新時間:2021年04月20日 14:36:17   作者:t156xxxx4671  
這篇文章主要介紹了R語言循環(huán)讀取excel并保存為RData的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

之前寫過一個循環(huán)讀取excel的代碼,最近又有了新的需求:循環(huán)讀取xlsx文件中的多個sheet,處理完之后循環(huán)輸出到xlsx文件中的多個sheet中,總結(jié)一下。

1、循環(huán)讀取csv文件并輸出為RData格式

homedir <- "D:/Documents/tina/Database" #設(shè)置路徑
setwd(homedir)
temp = list.files(pattern="*.csv")
for (i in 1:length(temp)) {
  filename <- substr(temp[i], 1, nchar(temp[i])-4);
  assign(filename, read.csv(temp[i], header = T));
  save(list = filename, file = paste(filename, ".Rdata", sep = ""))
}

有了這段代碼,要循環(huán)讀取xlsx里面的多個sheet就簡單多了,畢竟xlsx的文件名都是一致的,只是sheetIndex不一樣:

2、循環(huán)讀取xlsx文件中的多個sheet:

library(xlsx)
sheet.index <- c(1:12)
data.list <- list()
for(i in sheet.index){
  filename <- paste0("month",i)
  data.list[[i]] <- read.xlsx("E:/某某中心年收入.xls", encoding = "UTF-8", sheetIndex = i)
  assign(filename, data.list[[i]])
}

下面這面這段代碼是抄來的,還沒來得及嘗試能不能循環(huán)寫入sheet了。

3、循環(huán)創(chuàng)建xlsx中的多個sheet

library(XLConnect)
wb <- loadWorkbook('data.xlsx', create = TRUE) # 創(chuàng)建excel工作簿
# 創(chuàng)建sheet
for (name in paste0('sheet', 1:3)) {
    createSheet(wb, name)
}
# 分別向3個sheet寫入數(shù)據(jù)
writeWorksheet(wb, data_frame_1, 'sheet1')
writeWorksheet(wb, data_frame_2, 'sheet2')
writeWorksheet(wb, data_frame_3, 'sheet3')
saveWorkbook(wb)

今天嘗試了第3部分的代碼,發(fā)現(xiàn)循環(huán)寫入的功能無法實現(xiàn),于是使用openxlsx包解決該問題。

4、創(chuàng)建xlsx,寫入多個sheet

首先按照網(wǎng)上的教程安裝了openxlsx,并進行了實驗:

library(openxlsx)
 wb <- createWorkbook()
 addWorksheet(wb, "Sheet 1")
 c1 <- createComment(comment = "this is comment")
 writeComment(wb, 1, col = "B", row = 10, comment = c1)
 s1 <- createStyle(fontSize = 12, fontColour = "red", textDecoration = c("BOLD"))
 s2 <- createStyle(fontSize = 9, fontColour = "black")
 c2 <- createComment(comment = c("This Part Bold red\n\n", "This part black"), style = c(s1, s2))
 c2
 writeComment(wb, 1, col = 6 , row = 3, comment = c2)
 addWorksheet(wb, "Sheet 1")
 saveWorkbook(wb, file = "E:/信和資料/項目/門店績效/湖南益陽/writeCommentExample.xlsx", overwrite = TRUE)

但在最后保存時報錯,因為是在windows環(huán)境下,保存時提示安裝Rtools,windows系統(tǒng)下安裝完成后,需要添加系統(tǒng)變量D:\Rtools\bin;D:\Rtools\gcc-4.6.3\bin,添加完成后,重啟電腦,發(fā)現(xiàn)保存成功。

下面,需要循環(huán)將多個sheet寫入xlsx文件中:

wb <- createWorkbook()
addWorksheet(wb,"xsjshouru12")
addWorksheet(wb, "xsjshouru18")
addWorksheet(wb, "xsjshouru24")
addWorksheet(wb, "xsjshouru36")
writeData(wb,"xsjshouru12",xsjshouru12)
writeData(wb,"xsjshouru18",xsjshouru18)
writeData(wb,"xsjshouru24",xsjshouru24)
writeData(wb,"xsjshouru36",xsjshouru36)
#保存到本地文件
saveWorkbook(wb,file = "E:/信和資料/項目/門店績效/湖南益陽/薪水借.xlsx", overwrite = TRUE)

讀入數(shù)據(jù):

files = list.files(pattern='*.Rdata')
fload = lapply(files, function(x) get(load(x)))

合并多個數(shù)據(jù)框

edata4 <- Reduce(function(x,y) merge(x = x, y = y, by = c('lon','lat')),list(dtr01, dtr02, dtr03))

補充:R語言:批量循環(huán)讀取一系列excel文件

例如有20個excel文件分別代表20個亞組的數(shù)據(jù),文件名為亞組名P01-P20,每個文件中的變量個數(shù)和名稱等都是相同的,可通過以下命令實現(xiàn)一次性讀取20個excel,并生成一個新變量提示來自哪個亞組(同時展示如何讀取每個excel第二列數(shù)據(jù)的前11個字符生成一個新變量id)。

例如P01數(shù)據(jù)如下:

首先

讀取excel文件先要安裝package: XLConnect:

install.packages(XLConnect)
library(XLConnect)

其次

生成代表亞組名稱的新變量和第二列前11個字符的新變量:

temp<-list.files(pattern="*.xls")     //生成一個新變量temp代表文件路徑中所有后綴為xls的文件的文件名
head(temp)
a=readWorksheetFromFile(temp[1],sheet=1)         //讀取temp1號excel即P01,命名為數(shù)據(jù)庫a
a$plate=substr(as.character(temp[1]),1,3)        //生成變量plate,數(shù)值為temp里的plate名稱(字符1到3)
a$id=substr(a[,2],1,11)     //生成變量id, 值為第二列數(shù)據(jù)的前11個字符
ncol(a)   //看看a有多少個變量,新生成的plate和id變量為最后兩個,假設(shè)為第58和59個變量
write.table(a[,c(58,59)],file = "newfile.txt",row.names=F, na="",col.names=FALSE, sep=" ",append = T,quote=F)  
//生成txt文件newfile.txt為p01文件中的plate和id,展示如下

最后

對P02-20寫一個for循環(huán)語句,導入進去即可

for (i in 2: length(temp)){
  newfile=read.table("newfile.txt")
  b=readWorksheetFromFile(temp[i],sheet=1)
  b$row=substr(as.character(temp[i]),1,3)
  b$extract=substr(b[,2],1,11)
  write.table(b[,c(58,59)],file = "newfile.txt",row.names=F, na="",col.names=FALSE, sep=" ",append = T,quote=F)
}

命令翻譯:對每一個i值,i從2到temp的最大值之間取值,生成一個文件newfile=之前P01的txt文件,下面四行是重復(fù)上面生成P01file的過程。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • R語言數(shù)據(jù)可視化tidyr與ggplot2多個變量分層展示舉例實現(xiàn)

    R語言數(shù)據(jù)可視化tidyr與ggplot2多個變量分層展示舉例實現(xiàn)

    這篇文章主要為大家介紹了R語言可視化tidyr與ggplot2多個變量的分層展示,實現(xiàn)過程文中通過舉例為大家進行了詳解,有需要的朋友可以借鑒參考下
    2021-11-11
  • R語言 實現(xiàn)將兩張圖放在同一張畫布

    R語言 實現(xiàn)將兩張圖放在同一張畫布

    這篇文章主要介紹了R語言 實現(xiàn)將兩張圖放在同一張畫布的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • R語言對CSV文件操作實例講解

    R語言對CSV文件操作實例講解

    在本篇文章里小編給大家整理了一篇關(guān)于R語言對CSV文件操作實例講解內(nèi)容,有興趣的朋友們可以學習下。
    2021-04-04
  • R語言學習Rcpp基礎(chǔ)知識全面整理

    R語言學習Rcpp基礎(chǔ)知識全面整理

    這篇文章主要介紹了R語言學習Rcpp知識的全面整理,包括相關(guān)配置說明,常用數(shù)據(jù)類型及建立等基礎(chǔ)知識的全面詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • 詳解R語言中的多項式回歸、局部回歸、核平滑和平滑樣條回歸模型

    詳解R語言中的多項式回歸、局部回歸、核平滑和平滑樣條回歸模型

    這篇文章主要介紹了R語言中的多項式回歸、局部回歸、核平滑和平滑樣條回歸模型,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • R語言歸一化處理實例講解

    R語言歸一化處理實例講解

    這篇文章主要介紹了R語言歸一化處理實例講解,文中內(nèi)容講解的很清晰,有感興趣的同學可以學習下
    2021-03-03
  • R語言創(chuàng)建矩陣的實現(xiàn)方法

    R語言創(chuàng)建矩陣的實現(xiàn)方法

    這篇文章主要介紹了R語言創(chuàng)建矩陣的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • R語言繪制line?plot線圖示例詳解

    R語言繪制line?plot線圖示例詳解

    這篇文章主要為大家介紹了R語言繪制line?plot線圖的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-02-02
  • 使用R中merge()函數(shù)合并數(shù)據(jù)的方法

    使用R中merge()函數(shù)合并數(shù)據(jù)的方法

    這篇文章主要介紹了使用R中merge()函數(shù)合并數(shù)據(jù),本文詳細介紹R中merge()函數(shù)參數(shù)及合并數(shù)據(jù)類型,利用sql的表連接概念進行類比,簡單易懂,需要的朋友可以參考下
    2023-03-03
  • R語言開發(fā)之CSV文件的讀寫操作實現(xiàn)

    R語言開發(fā)之CSV文件的讀寫操作實現(xiàn)

    這篇文章主要介紹了R語言開發(fā)之CSV文件的讀寫操作實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03

最新評論

克什克腾旗| 台中县| 雷波县| 平塘县| 盐亭县| 驻马店市| 佳木斯市| 措美县| 秦皇岛市| 清镇市| 保德县| 六安市| 衡南县| 同心县| 乌兰察布市| 报价| 甘孜| 古交市| 九台市| 宜春市| 新丰县| 穆棱市| 东丰县| 陕西省| 资阳市| 晋江市| 灵丘县| 定西市| 遂川县| 吴忠市| 于都县| 南和县| 卫辉市| 宽甸| 赤水市| 凤阳县| 瑞丽市| 宁乡县| 富宁县| 肃宁县| 乐安县|