淺談Python批處理文件夾中的txt文件
1 文件處理形式
近期由于處理大量數(shù)據(jù),所以對于采用python進行處理文件的一些操作也打算整理一下;接下來主要說一下如何處理目錄下的一系列txt文件。首先看一下我們將要處理目錄下的15個類似的數(shù)據(jù)文件,其中提取的數(shù)據(jù)如圖所示,以及在讀寫文件時所需要的關(guān)鍵詞,可以讓程序正確讀寫相應(yīng)的數(shù)據(jù)
2.代碼段-python
接下來就是貼出相應(yīng)的python代碼,具體一些關(guān)鍵的注釋我已經(jīng)標(biāo)注好了,具體數(shù)據(jù)結(jié)果就不展示了,如果大家想拿我的數(shù)據(jù)進行測試聯(lián)系我就好,但是一般情況下在我標(biāo)注的地方進行相應(yīng)的修改就好,希望有啥不懂得大家可以一起交流。
import os import numpy as np def eachFile(filepath): j=0 pathDir = os.listdir(filepath) #獲取當(dāng)前路徑下的文件名,返回list for s in pathDir: newDir=os.path.join(filepath,s) #將文件名寫入到當(dāng)前文件路徑后面 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 #控制數(shù)據(jù)存入不同的list with open(filepath,"r") as f: line=f.readline() # print(line) while line: if line[:9]==' cell 10': #根據(jù)關(guān)鍵詞抽取數(shù)據(jù) f.readline() index=index+1 for i in range(126): #抽取的數(shù)據(jù)格式 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 #定義全局變量,可以將所有數(shù)據(jù)都存入list中 fp=r'F:\\MCwork\\MCCM\\scripts\\filesworks' #存放數(shù)據(jù)的目錄 os.chdir(fp) eachFile(fp) output =open("flux.txt",'w') #將list存入相應(yīng)的文件中,便于后期處理數(shù)據(jù) listdata_total=list(np.reshape(list_total,(15,126)).T) #改變數(shù)組維度,存儲 for i in range(126): #數(shù)據(jù)讀入相應(yīng)文件的第一種方法,第一篇博客有介紹 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文件詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Python 自動化處理Excel和Word實現(xiàn)自動辦公
毫無疑問,Microsoft Excel 和 Word 是我們?nèi)粘^k公中使用最廣泛的辦公軟件。將反復(fù)、復(fù)雜的工作自動化處理,是我們需要思考的問題,本篇文章幫你解決這個問題2021-11-11Pandas時間序列基礎(chǔ)詳解(轉(zhuǎn)換,索引,切片)
今天小編就為大家分享一篇Pandas時間序列基礎(chǔ)詳解(轉(zhuǎn)換,索引,切片),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02Python關(guān)于__name__屬性的含義和作用詳解
在本篇文章里小編給大家分享的是關(guān)于Python關(guān)于__name__屬性的含義和作用知識點,需要的朋友們可以參考下。2020-02-02Python分析特征數(shù)據(jù)類別與預(yù)處理方法速學(xué)
這篇文章主要為大家介紹了Python分析特征數(shù)據(jù)類別與預(yù)處理方法速學(xué),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-02-02python實現(xiàn)web應(yīng)用框架之增加動態(tài)路由
這篇文章主要介紹web應(yīng)用框架如何添加動態(tài)路由,在我們編寫的框架中,我們添加動態(tài)路由,是使用了正則表達式,同時在注冊的時候,需要注明該路由是請求路由,文中有詳細的代碼示例,需要的朋友可以參考下2023-05-05pandas去重復(fù)行并分類匯總的實現(xiàn)方法
這篇文章主要介紹了pandas去重復(fù)行并分類匯總的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01Python替換字符串replace()函數(shù)使用方法詳解
Python中的replace()方法是把字符串中的old(舊字符串)替換成new(新字符串),如果指定第三個參數(shù)max,則替換次數(shù)不超過max次(將舊的字符串用心的字符串替換不超過max次,本文就給大家講講Python replace()函數(shù)的使用方法,需要的朋友可以參考下2023-07-07