亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 python 中迭代文件并導出多個輸出文件

如何在 python 中迭代文件并導出多個輸出文件

搖曳的薔薇 2023-12-26 15:50:37
我有一個代碼,我想將其放入 for 循環中。我想將一些存儲為文件的數據輸入到我的代碼中,并根據每個輸入自動生成輸出。目前,我的代碼僅適用于一個輸入文件,因此給出一個輸出。我的輸入文件名為model000.msh,但事實是我有一系列這些輸入文件model000.msh,其名稱model001.msh為 、 等。在代碼中,我對導入的文件進行一些計算,最后將其與my_data另一個具有ID一列和數千行的 numpy 數組 () 生成的 numpy 數組 () 進行比較。IDarray 是我要迭代的第二個變量。ID正在my_data通過一個np.concatenate函數進行。我想用 的每一列ID來制作my_data( my_data=np.concatenate((ID[:,iterator], gr), axis =1))。因此,我想迭代多個文件,然后從每個文件中提取數組(extracted),然后按照循環my_data從 的每一列生成ID并進行計算my_data,extracted最后使用動態命名方法導出每次迭代的結果(changed_000,changed_001等等在)。這是我的一個單一輸入和一個單一my_data數組的代碼(由ID只有一列的數組組成),但我想更改對多個輸入文件和多個my_data數組以及最后幾個輸出的迭代:from itertools import islicewith open('model000.msh') as lines:        nodes = np.genfromtxt(islice(lines, 0, 1000))with open('model000.msh', "r") as f:    saved_lines = np.array([line.split() for line in f if len(line.split()) == 9])saved_lines[saved_lines == ''] = 0.0elem = saved_lines.astype(np.int)# following lines extract some data from my fileextracted=np.c_[elem[:,:-4], nodes[elem[:,-4]-1, 1:], nodes[elem[:,-3]-1, 1:],nodes[elem[:,-2]-1, 1:], nodes[elem[:,-1]-1, 1:]]…extracted =np.concatenate((extracted, avs), axis =1) # each input file ('model000.msh') will make this numpy array# another data set, stored as a numpy array is compared to the data extracted from the fileID= np.array [[… ..., …, …]] # now, it is has one column, but it should have several columns and each iteration, one column will make a my_data arraymy_data=np.concatenate((ID, gr), axis =1) # I think it should be something like my_data=np.concatenate((ID[:,iterator], gr), axis =1)from scipy.spatial import distancedistances=distance.cdist(extracted [:,17:20],my_data[:,1:4])ind_min_dis=np.argmin(distances, axis=1).reshape(-1,1)我感謝您提前提供的任何幫助。
查看完整描述

1 回答

?
婷婷同學_

TA貢獻1844條經驗 獲得超8個贊

我不太確定你的問題。但你似乎在要求類似的東西:


for idx in range(10):

? ? with open('changed_{:0>2d}'.format(idx), 'a') as fout:

? ? ? ? with open('model0{:0>2d}.msh'.format(idx), 'r') as fin:

? ? ? ? ? ? #read something from fin...

? ? ? ? ? ? #calculate something...

? ? ? ? ? ? #write something to fout...

查看完整回答
反對 回復 2023-12-26
  • 1 回答
  • 0 關注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號