近期由於處理大量資料,所以對於採用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 批量更改檔名...