您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關利用Python怎么對文件夾中的txt文件進行處理,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
1 文件處理形式
近期由于處理大量數據,所以對于采用python進行處理文件的一些操作也打算整理一下;接下來主要說一下如何處理目錄下的一系列txt文件。首先看一下我們將要處理目錄下的15個類似的數據文件,其中提取的數據如圖所示,以及在讀寫文件時所需要的關鍵詞,可以讓程序正確讀寫相應的數據
2.代碼段-python
接下來就是貼出相應的python代碼,具體一些關鍵的注釋我已經標注好了,具體數據結果就不展示了,如果大家想拿我的數據進行測試聯系我就好,但是一般情況下在我標注的地方進行相應的修改就好,希望有啥不懂得大家可以一起交流。
import os import numpy as np def eachFile(filepath): j=0 pathDir = os.listdir(filepath) #獲取當前路徑下的文件名,返回list for s in pathDir: newDir=os.path.join(filepath,s) #將文件名寫入到當前文件路徑后面 if os.path.isfile(newDir): #如果是文件 if os.path.splitext(newDir)[1]==".txt": #判斷是否是txt readFile(newDir) j=j+1 print(j) pass else: break def readFile(filepath): index=0 #控制數據存入不同的list with open(filepath,"r") as f: line=f.readline() # print(line) while line: if line[:9]==' cell 10': #根據關鍵詞抽取數據 f.readline() index=index+1 for i in range(126): #抽取的數據格式 energy,f4,error=f.readline().split() if(index==1): list_total.append(f4) elif(index==2): list_electron.append(f4) else: list_positron.append(f4) line=f.readline() def main(): global list_total,list_electron,list_positron #定義全局變量,可以將所有數據都存入list中 fp=r'F:\\MCwork\\MCCM\\scripts\\filesworks' #存放數據的目錄 os.chdir(fp) eachFile(fp) output =open("flux.txt",'w') #將list存入相應的文件中,便于后期處理數據 listdata_total=list(np.reshape(list_total,(15,126)).T) #改變數組維度,存儲 for i in range(126): #數據讀入相應文件的第一種方法,第一篇博客有介紹 for j in range(15): output.write(listdata_total[i][j]+' ') output.write('\t') output.write('\n') output.close() if __name__ == '__main__': list_electron=[] list_total=[] list_positron=[] main()
以上就是利用Python怎么對文件夾中的txt文件進行處理,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。