python批量处理txt_浅谈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文件詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
總結
以上是生活随笔為你收集整理的python批量处理txt_浅谈Python批处理文件夹中的txt文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: access 导入 txt sql语句_
- 下一篇: 离散数学反对称关系_【离散数学】1.2&