R|批量循環處理同一格式文件-csv,txt,excel

2021-02-20 生信補給站

    在一個文件夾下有很多欄位一致,格式統一的數據文件(csv,txt,excel),可以使用R快速的統一成一個文件方便後續分析和處理。

    將需要處理的欄位一致,格式統一的數據文件(csv,txt,excel),放到文件夾內,並將此文件夾設置為工作目錄,下面分情況介紹如何批量讀取並合併數據。

1)文件夾內只有一種格式的文件:csv,txt,excel;

2)文件夾內有多種格式的文件:csv,txt,excel以及其他的png,pdf等文件;


1 僅有一種類型文件,此處以csv示例

設定工作目錄,將需要處理的數據文件放到工作目錄下

#查看當前路徑下所有文件

#setwd(D:\\..\\data\\)

a = list.files()    

a

dir = paste("./",a,sep="")                

n = length(dir)                                      

merge.data = read.csv(file = dir[1],header=T,sep=",")  


for (i in 2:n){
  new.data = read.csv(file = dir[i], header=T, sep=",")
  merge.data = rbind(merge.data,new.data)
}


write.csv(merge.data,file = "./merge_all.csv",row.names=FALSE)  


2 存在多種類型文件,僅讀取csv格式文件

當工作目錄下多種類型文件時,只讀取其中一種

list.files()


a = list.files(pattern = ".csv")                                    

merge.data = read.csv(a[1],header=T,sep=",")  


for (i in 2:n){
  new.data = read.csv(a[i], header=T, sep=",")
  merge.data = rbind(merge.data,new.data)
}

write.csv(merge.data,file = "./merge_only_csv.csv",row.names=FALSE)  

註:因txt文件亦可以直接用R基本讀入方式讀取,更改read.table即可,此處不舉例。


3 存在多種類型文件,僅讀取excel格式文件

因R不能直接讀取excel文件,需要加載R包,個人習慣利用readxl包讀取。


library(readxl)

list <- list.files()
a <- grep('\\.xlsx', list, value = TRUE)

n = length(a)
merge.data = read_excel(a[1])  

for (i in 2:n){
  new.data = read_excel(a[i])
  merge.data = rbind(merge.data,new.data)
}

write.csv(merge.data,file = "./merge_only_excel.csv",row.names=FALSE)  

低時間投入成本,高效率回報🤭

【覺得不錯,右下角點擊點個「在看」,轉發就是最好的支持和讚賞,謝謝!】



相關焦點

  • 如何將Excel或csv文件導入R?
    今天介紹如何將excel或csv文件導入進R。在學習了一系列的R語言作圖教程後,想必有些小夥伴都已經躍躍欲試,想要分析自己手頭的數據了。為了示範,先用Excel創建一個xlsx數據:"mydata.xlsx",具體如下圖所示。
  • 用R語言讀取EXCEL文件的方法
    資深表哥/表姐們都知道,Excel自帶數據統計功能,但卻處理不了大數據集。而CSV與TXT格式的文件,雖然容量大,但由於是純文本文件,所以不具有數據處理的功能。        為了解決這一尷尬的問題,下面我就教一下大家怎麼用統計專業的R語言來讀取數據(數據處理之前很重要的一個步驟)        用R讀取excel文件中的數據,需要先搭建一個Java的環境(配置好JDK),然後再用 install.packages("xlsx") 指令導入相關的包(常見的Excel文件格式是xlsx,而處理xlsx文件這個包是使用Java語言來寫的
  • 1秒,合併1000個Excel文件
    遺憾的是,這種批處理方法只適用於csv格式的表格。你是不是馬上想問:蘭色,我有N多個xlsx格式的文件,怎麼用這種方法合併?答案是,先把xlsx格式文件轉換為csv格式。可....怎麼才能批量轉換呢?嘿嘿,貼心的蘭色用VBA編了一個excel和csv的互轉程序:
  • Excel打開csv文件出現亂碼的解決方法
    CSV文件是一種數據文件,正常情況下,我們可以直接在excel表格中打開CSV文件,不過有時也會出現亂碼,很多人不知道該如何解決。
  • 三種方法高效讀取xls/xlsx格式文件
    今天來學習下怎麼將xls/xlsx格式文件中的數據導入到R中。主要介紹三種方式。下面讀取的數據文件默認放置於工作目錄中。另外spss、sas、stata等軟體的數據格式文件導入請參見這篇文章(猛戳:R語言統計與繪圖:數據的輸入與輸出)。1. 從剪切板讀取數據xls/xlsx文件不同於txt、csv文件,需要使用其他的方式讀取。
  • Excel交流(5)-兩種方式合併多個Excel文件
    3.運行,首先提示你打開需要合併的文件。路徑和文件可隨意選擇,因為我們前期把全部下級文件存放在同一文件夾,所以直接全選。3.新建一個工作簿,創一個新模板,複製「將指定位置的Excel批量轉為csv文件」代碼進入,運行。
  • Excel按文件名製作目錄,你複製粘貼花兩小時,同事十秒搞定
    如圖所示,我們直接點擊對應的超連結即可快速打開對應的文件內容。下面我們就來詳細的學習一下製作方法。第一步:在文件夾中我們新建一個Txt文檔,然後輸入以下代碼,然後命名為:創建目錄.txt。第二步:txt文檔建好後,我們將文檔後綴名由.TXT更改為.bat格式。然後雙擊修改後的文檔:創建目錄.bat。這樣文件夾中就會出現一個新的文件名:創建目錄.csv。
  • R語言讀取xlsx文件
    關於R語言讀取Excel文件,比較麻煩,我從來都反對直接讀取xlsx文件,因為爬蟲數據時,一般保存的格式都是csv文件,或者直接保存到資料庫裡面
  • 1秒鐘就能合併100個Excel表格!太快了 !
    今天介紹的合併方法適合於超大批量的Excel表格的合併,合併前要讓分公司/部門把表格另存為csv格式再上報(公式會自動轉換為值)。而你合併後的文件也可以另存為常用的xlsx工作簿格式。每個文件都有這樣一個表格:新建一個txt文件,然後輸入代碼:Copy  *.csv  合併.csv
  • 如何用Python讀寫Excel文件?最便捷的3種方式
    pandas進行讀寫,下面我主要介紹一下3種方式讀寫的過程,實驗環境win7+python3.6+pycharm5.0,主要步驟如下:為了方便演示,我這裡新建了一個test.xls文件,主要內容如下,用於測試讀excel的代碼:方法一:利用xlrd和xlwt進行excel讀寫,這裡只能是xls類型excel首先,安裝的話,直接輸入命令"
  • 【R函數學習】R語言時間序列函數整理
    (x) #返回x中最長的連續無缺失值的序列片段,如果有兩個等長的序列片段,則返回第一個。】1、自相關係數、偏自相關係數等例題2.1 d=scan("sha.csv")sha=ts(d,start=1964,freq=1)plot.ts(sha) #繪製時序圖acf(sha,22) #繪製自相關圖,滯後期數22pacf(sha,22) #繪製偏自相關圖,滯後期數22corr=acf(sha,22) #保存相關係數c
  • Python讀寫csv文件專題教程(3)
    如果時間格式轉化成標準的年月日,操作如下:In [83]: df = pd.read_csv('test.csv',sep='\s+',parse_dates=['date'],date_parser=    ...: lambda dates: pd.datetime.strptime(dates,'%d-%b-%Y'))
  • 試試將表格轉換成CSV文件吧||Excel技巧
    前兩天有同學求助加油菌,她在將Excel工作簿導出成CSV格式的文件時,身份證號碼變成了科學計數法顯示,這對她的工作造成了很大困擾,所以求助加油菌有什麼方法能夠處理這個問題。將表格轉換成CSV文件是怎麼回事呢?CSV是逗號分隔值文件格式,有時也稱為字符分隔值。
  • 手把手教你利用Python輕鬆拆分Excel為多個CSV文件
    一起來看看吧~二、項目目標將單個Excel文件拆分為多個CSV文件或根據某一列的內容拆分為多個CSV文件。利用tkinter庫中的filedialog,進行要處理的目標文件選擇。2)如何讀取Excel文件?利用xlrd庫進行Excel讀取,獲取要處理的目標Sheet。3)如何篩選列內容?
  • R語言時間序列函數大全(收藏!)
    >#都是按照列名進行合併,列名不同的部分用NA代替cbind()rbind()merge() 列合併#取子集xts()默認將向量做成了矩陣;其他與常規向量或者矩陣沒有差別#缺失值處理#時間序列數據的顯示#zoo和xts都只能按照原來的格式顯示,timeSeries可以設置顯示格式print(x, format= 「%m/%d/%y %H:%M」) #%m表示月,%d表示天,%y表示年,%H表示時,%M表示分鐘,%A表示星期,%j表示天的序號
  • Excel中的xls、xlsx、xlsm混合文件,看我用Python如何統一處理......
    用它做批量處理確實比VBA要方便很多。今天黃同學再帶大家探討Python處理Excel文件時,遇到的一些問題。在Python中,有幾個常用的庫專門用來處理Excel文件,分別是xlrd、xlwt和openpyxl,簡單介紹一下:openpyxl可以讀數據和寫數據,但只能處理xlsx;如果待處理的文件,既有xls,又有xlsx時,我覺得還是將它們一併轉換為統一格式
  • Excel財務報表金額格式批量處理
    一方君是做財務的,覺得這個案例會對財務工作者有幫助,學會了的話,優化財務報表格式就會方便很多,就單獨拿出來講了,當然其他行業的朋友也可一看,這個例子綜合性蠻強的,涉及到非常多知識點,但並不難,很適合大家上手練習,提高姿勢水平。先說下這裡會涉及到的知識點:xlam;自定義功能區;正則表達式;split字符串拆分;自定義格式字符串;其他。
  • Word轉Pdf,PPT轉Pdf,txt轉Excel,Word轉Excel,Pdf轉Word,圖片轉W
    比如最常見的是Word轉Pdf啊,PPT轉Pdf啊;稍微少見一點的,可能還需要將txt轉為Excel、Word轉為Excel;再奇怪一點,可能我們還需要將Pdf轉為Word,圖片(如jpg)轉為Word等等。下面,阿何將根據使用場景的頻繁程度和操作難度,依次為大家介紹文檔格式轉換的辦法。
  • excel快速對比兩列的差別
    上次和大家分享了一個 excel 中利用VBA 製作抽獎神器,這戲給大家帶來的是利用excel中的函數快速對比兩列的差別,這個用在檢查電子文檔的上交情況也是以打神器