淺談Python批處理文件夾中的txt文件
1 文件處理形式
近期由于處理大量數(shù)據(jù),所以對(duì)于采用python進(jìn)行處理文件的一些操作也打算整理一下;接下來(lái)主要說(shuō)一下如何處理目錄下的一系列txt文件。首先看一下我們將要處理目錄下的15個(gè)類(lèi)似的數(shù)據(jù)文件,其中提取的數(shù)據(jù)如圖所示,以及在讀寫(xiě)文件時(shí)所需要的關(guān)鍵詞,可以讓程序正確讀寫(xiě)相應(yīng)的數(shù)據(jù)


2.代碼段-python
接下來(lái)就是貼出相應(yīng)的python代碼,具體一些關(guān)鍵的注釋我已經(jīng)標(biāo)注好了,具體數(shù)據(jù)結(jié)果就不展示了,如果大家想拿我的數(shù)據(jù)進(jìn)行測(cè)試聯(lián)系我就好,但是一般情況下在我標(biāo)注的地方進(jìn)行相應(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) #將文件名寫(xiě)入到當(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ù)組維度,存儲(chǔ)
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文件詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Python基礎(chǔ)之模塊相關(guān)知識(shí)總結(jié)
今天帶大家復(fù)習(xí)Python基礎(chǔ)知識(shí),文中對(duì)模塊相關(guān)知識(shí)介紹的非常詳細(xì),對(duì)正在學(xué)習(xí)python基礎(chǔ)的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05
Python MySQL 日期時(shí)間格式化作為參數(shù)的操作
這篇文章主要介紹了Python MySQL 日期時(shí)間格式化作為參數(shù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03
python使用urllib2模塊獲取gravatar頭像實(shí)例
python使用urllib2模塊獲取gravatar頭像的實(shí)例,大家參考使用吧2013-12-12
使用Python隨機(jī)生成數(shù)據(jù)的方法
這篇文章主要介紹了使用Python隨機(jī)生成數(shù)據(jù)的方法,在日常開(kāi)發(fā)中竟然會(huì)遇到需要測(cè)試大量數(shù)據(jù)的地方,那么隨機(jī)生成數(shù)據(jù)就可以有效的加快我們的效率,通過(guò)Python_Faker生成測(cè)試數(shù)據(jù)需要安裝Faker包,需要的朋友可以參考下2023-10-10
Django通過(guò)dwebsocket實(shí)現(xiàn)websocket的例子
今天小編就為大家分享一篇Django通過(guò)dwebsocket實(shí)現(xiàn)websocket的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11

