作者seo074482 (tin730_11)
看板Python
标题[问题]关於python读mat档新手求救
时间Sun May 13 00:15:01 2018
抱歉真的是新手
最近在写程式 需要用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://webptt.com/cn.aspx?n=bbs/Python/M.1526141704.A.0F5.html
1F:推 justoncetime: 首先把结果和错误讯息附上 05/13 00:49
2F:→ justoncetime: 除了source,还该有结果和错误讯息(如果有) 05/13 00:51
3F:→ justoncetime: 会来写Python, 应该知道for效力范围跟缩排有关吧 05/13 00:52
4F:→ justoncetime: 然後data总不能每次都变空,位置... 05/13 00:55
附上了~
http://imgur.com/a/vj2PSQN
我是写到一半卡住的所以没有错误XD
5F:推 fischcheng: data={}在 for之前,然後data[i]在for里面缩排试试 05/13 01:50
谢谢!我再试试
6F:推 handsomeLin: 你的for回圈结束之後 i是可用的变数 然後你命了一个 05/13 04:02
7F:→ handsomeLin: 空dict 把key=i value是最後一个档, 理所当然只有一 05/13 04:02
8F:→ handsomeLin: 个资料啦 05/13 04:02
9F:推 handsomeLin: 你mat_contents跟mat.contents是打错吗?btw 你可以 05/13 04:05
10F:→ handsomeLin: 用enumerate同时得到i跟档名 05/13 04:05
对喔!是我打错 已修正 我成功了!!!
真的很谢谢各位!
※ 编辑: seo074482 (61.231.35.142), 05/13/2018 09:26:44
11F:推 coeric: range (1,2136,1) 後面那个1其实可以省略掉没关系 05/13 09:45
12F:推 subi: 其实你也可以考虑这样子做, 先 import pathlib 05/13 16:26
13F:→ subi: list(pathlib.Path.cwd().rglob('*.mat')) 05/13 16:27