[问题]关于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