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

看板Python作者 (tin730_11)時間7年前 (2018/05/13 00:15), 7年前編輯推噓6(607)
留言13則, 5人參與, 7年前最新討論串1/1
抱歉真的是新手 最近在寫程式 需要用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) 我查了好久也翻書了 真的不知道該怎麼改 拜託各位了 非常感謝!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.231.35.142 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1526141704.A.0F5.html

05/13 00:49, 7年前 , 1F
首先把結果和錯誤訊息附上
05/13 00:49, 1F

05/13 00:51, 7年前 , 2F
除了source,還該有結果和錯誤訊息(如果有)
05/13 00:51, 2F

05/13 00:52, 7年前 , 3F
會來寫Python, 應該知道for效力範圍跟縮排有關吧
05/13 00:52, 3F

05/13 00:55, 7年前 , 4F
然後data總不能每次都變空,位置...
05/13 00:55, 4F
附上了~http://imgur.com/a/vj2PSQN 我是寫到一半卡住的所以沒有錯誤XD

05/13 01:50, 7年前 , 5F
data={}在 for之前,然後data[i]在for裡面縮排試試
05/13 01:50, 5F
謝謝!我再試試

05/13 04:02, 7年前 , 6F
你的for迴圈結束之後 i是可用的變數 然後你命了一個
05/13 04:02, 6F

05/13 04:02, 7年前 , 7F
空dict 把key=i value是最後一個檔, 理所當然只有一
05/13 04:02, 7F

05/13 04:02, 7年前 , 8F
個資料啦
05/13 04:02, 8F

05/13 04:05, 7年前 , 9F
你mat_contents跟mat.contents是打錯嗎?btw 你可以
05/13 04:05, 9F

05/13 04:05, 7年前 , 10F
用enumerate同時得到i跟檔名
05/13 04:05, 10F
對喔!是我打錯 已修正 我成功了!!! 真的很謝謝各位! ※ 編輯: seo074482 (61.231.35.142), 05/13/2018 09:26:44

05/13 09:45, 7年前 , 11F
range (1,2136,1) 後面那個1其實可以省略掉沒關係
05/13 09:45, 11F

05/13 16:26, 7年前 , 12F
其實你也可以考慮這樣子做, 先 import pathlib
05/13 16:26, 12F

05/13 16:27, 7年前 , 13F
list(pathlib.Path.cwd().rglob('*.mat'))
05/13 16:27, 13F
文章代碼(AID): #1QznC83r (Python)
文章代碼(AID): #1QznC83r (Python)