Python批處理資料夾中的txt檔案

2021-09-09 06:33:21 字數 1899 閱讀 4790

近期由於處理大量資料,所以對於採用python進行處理檔案的一些操作也打算整理一下;接下來主要說一下如何處理目錄下的一系列txt檔案。首先看一下我們將要處理目錄下的15個類似的資料檔案,其中提取的資料

接下來就是貼出相應的python**,具體一些關鍵的注釋我已經標註好了,具體資料結果就不展示了,如果大家想拿我的資料進行測試聯絡我就好,但是一般情況下在我標註的地方進行相應的修改就好,希望有啥不懂得大家可以一起交流。

import os

import numpy as np

def eachfile(filepath):

j=0pathdir = 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:

f.readline()

index=index+1

for i in range(126): #抽取的資料格式

energy,f4,error=f.readline().split()

if(index==1):

elif(index==2):

else:

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()

批處理實現資料夾同步

1.設定檔案1 file list.txt 列出要同步的資料夾 dir1 dir2 dirn 2.批處理檔案 copy.cmd set remote root path f dir set local root path d local dir for f a in file list.txt do...

批處理指令碼 打包制定資料夾中的所有子資料夾

echo off echo 資料夾子目錄打包指令碼 v1.0.0.20210106 setlocal enabledelayedexpansion set sdstdirpath 1 set sdstdirpath sdstdirpath set sdstdirpath sdstdirpath re...

批處理管理檔案以及資料夾

一 set 命令 回顧一下set 命令有兩個引數 1 a 直接設定了乙個變數或者變數表示式,比如 set a var 2 或者 set a var 2 2 p 設定乙個變數,這個變數來自使用者的命令列的輸入結果 set p num 請選擇要執行的操作 if num 1 二 案列 2.1 批量更改檔名...