[問題]關於python讀mat檔新手求救

作者: seo074482 (tin730_11)   2018-05-13 00:15:01
抱歉真的是新手
最近在寫程式 需要用python讀mat檔
因為檔案很多 所以我用的方法是讀一整個資料夾的檔案
但是不知道為什麼只能讀到最後一個檔案的內容
附上我的code
import os
import scipy.io as sio
mat_contents = os.listdir("C:\\python\\MAT_Track\\MAT_track\\")
for i in range (1,2136,1):
matfn = "C:\\python\\MAT_Track\\MAT_Track\\"+mat_contents[i]
data={}
data[i]=sio.loadmat(matfn)
我查了好久也翻書了 真的不知道該怎麼改
拜託各位了
非常感謝!!!
作者: justoncetime (台北叢林好冷~)   2018-05-13 00:49:00
首先把結果和錯誤訊息附上除了source,還該有結果和錯誤訊息(如果有)會來寫Python, 應該知道for效力範圍跟縮排有關吧然後data總不能每次都變空,位置...
作者: fischcheng (布阿送)   2018-05-13 01:50:00
data={}在 for之前,然後data[i]在for裡面縮排試試
作者: handsomeLin (DoGLin)   2018-05-13 04:02:00
你的for迴圈結束之後 i是可用的變數 然後你命了一個空dict 把key=i value是最後一個檔, 理所當然只有一個資料啦你mat_contents跟mat.contents是打錯嗎?btw 你可以用enumerate同時得到i跟檔名
作者: coeric ( )   2018-05-13 09:45:00
range (1,2136,1) 後面那個1其實可以省略掉沒關係
作者: subi (細雨綿綿細雨)   2018-05-13 16:26:00
其實你也可以考慮這樣子做, 先 import pathliblist(pathlib.Path.cwd().rglob('*.mat'))

Links booklink

Contact Us: admin [ a t ] ucptt.com