天天看點

R語言批量讀取txt檔案并合并

氣象資料處理-R語言批量讀取txt資料并合并

處理地面氣候資料日值資料集v3.0

資料集以月為機關存儲,每個月是一個單獨的檔案,上圖、

R語言批量讀取txt檔案并合并

在處理資料過程中,我們往往會将單獨的資料合并到一起做進一步分析,R語言僅需兩步,可以輕松實作(替代 打開文本–複制粘貼—吐血)

setwd("E:/Rstation/test2")
library(tidyverse)
library(readxl)
library(writexl)
#篩選出所有資料檔案,以“SURF_CLI_CHN_MUL_DAY-PRE”為搜尋關鍵詞-----
flies=list.files(pattern = "SURF_CLI_CHN_MUL_DAY-PRE")
# 批量讀取,按行合并
df = map_dfr(flies, read.table)
#寫出資料
write_table(df, "xxx.txt")
           

最終結果(可根據需要導出)

R語言批量讀取txt檔案并合并

剛試了下以上方法,運作速度有點慢啊,參考别人代碼,寫了個循環,這個運作速度還挺快。

filest <- list.files(pattern = "SURF_CLI_CHN_MUL_DAY-TEM")
filelent <- length(filest)
newdatat <- c()
for (i in 1:3) {
  temp <- read.table(filest[i])
  newdatat=rbind(newdatat,temp)
}
names(newdatat) <- c("station", "lat", "lon", "eleva", "year", "month", "day", "avet", "maxt", "mint")
head(newdatat)
> head(newdatat)
  station  lat   lon eleva year month day avet maxt mint
1   50136 5258 12231  4330 2010     1   1 -311 -254 -385
2   50136 5258 12231  4330 2010     1   2 -314 -238 -367
3   50136 5258 12231  4330 2010     1   3 -288 -229 -332
4   50136 5258 12231  4330 2010     1   4 -309 -227 -362
           

讀取文本檔案,以空格為分隔符,可以直接寫read.table(xxx.txt),不然會出錯。

繼續閱讀