鱼C论坛

 找回密码
 立即注册
查看: 3372|回复: 5

python读取特殊格式的文件,如.icg

[复制链接]
发表于 2017-8-8 16:42:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
matlab中是这样读的
%读取信号
fr=fopen('0245.icg','r');%路径
[A,ls]=fread(fr,'double');
fclose(fr);
fs = 1000;
ls=length(A)/5 ; %ls=5 channels*k0 sampling frequency
for i=1:30000 %从原数据文件中读出每通道若干点的数据
    icg(5*(i-1)+1)=-A(5*(i-1+19*fs)+3); %dz
    icg(5*(i-1)+2)=A(5*(i-1+19*fs)+4);%dzdt
    icg(5*(i-1)+3)=A(5*(i-1+19*fs)+2);%ecg(i)
    icg(5*(i-1)+4)=A(5*(i-1+19*fs)+1);%pcg
    icg(5*(i-1)+5)=A(5*(i-1+19*fs)+5);%dzdt (i)
end
for i=1:30000
    dz(i)=icg(5*(i-1)+1);
    dzdt(i)=icg(5*(i-1)+2);
    ecg(i)=icg(5*(i-1)+3);
    pcg(i)=icg(5*(i-1)+4);
    z0(i)=icg(5*(i-1)+5);
end

怎么在python中读取呢?试了open   read不可以哦~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-8-8 16:45:06 | 显示全部楼层
python 这样读取
import sys
try:
    file = open('E:/signal processing/ECG ECG ICG/Icg1used/43344.icg')
except Exception as err:
    print(err)
    sys.exit(1)
print('File open successfully')
signal = file.read(file)
file.close()

报错
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: integer argument expected, got '_io.TextIOWrapper'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-8 16:48:58 | 显示全部楼层
二进制文件就要用rb打开读取,还得要解码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-8 20:04:52 | 显示全部楼层
ba21 发表于 2017-8-8 16:48
二进制文件就要用rb打开读取,还得要解码

import sys
try:
    file = open('E:/signal processing/ECG ECG ICG/Icg1used/43344.icg','rb')
except Exception as err:
    print(err)
    sys.exit(1)
print('File open successfully')
signal = file.read(file[1000])
file.close()

我按你说的加了rb     解码不太懂  
然后运行是这样的
...     file = open('E:/signal processing/ECG ECG ICG/Icg1used/43344.icg','rb')
... except Exception as err:
...     print(err)
...     sys.exit(1)
...
... print('File open successfully')
... signal = file.read(file[1000])
... signal
...
就这样了   是陷入循环了吗  怎么没有结果也不报错呢?第二个signal是我先看读出来的数据,但是也没显示
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-8 20:21:33 | 显示全部楼层
ba21 发表于 2017-8-8 16:48
二进制文件就要用rb打开读取,还得要解码

对了  刚刚用matlab读了下那个数据   是这样的
0.229963297625910
0.0552784024094481
4.52709421568081
-1.46049421004140
0.592620832564353
0.110049732746573
0.0624083980588815
4.53325198851513
-1.45725330046239
0.594241286367344
-0.0707928839096278
0.0662974865966845
4.53908566816498
......用了fopen, fread不是二进制啊  是fread读的时候直接转化(解码?)了吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-9 11:27:55 | 显示全部楼层
各位前辈大神,求指点~在线等、、、
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-2-24 08:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表