TextScan - 多种格式线

3次查看(最近30天)
Vahideh安萨里Hosseinzadeh
评论道: 里克 2021年8月4日
我有一个带有这些数据的txt文件:
剂量周期= 1
加药时间(ms) = 57
启动压力(psi) = 0.00
结束压力(psi) = 0.05
电池启动电压(mV) = 10
电池端电压(mV) = 110
我想读这个文件并提取这些信息。
fid = fopen(“nums1.txt”);
C = textscan(fid, '%s %s %s %s %f\n'); / /指定文件
但是每一行都有不同的格式,我怎么对每一行做这个呢?
谁能给点建议吗?
谢谢!

接受的答案

里克
里克 2021年8月4日
编辑:里克 2021年8月4日
在我看来,格式是一样的。为什么不读取为文本,在=和使用上分开 str2double 最后一栏呢?
要将文件读入单元格数组,可以使用|readfile|函数 链接 .如果您使用的是R2020b或更高版本,您可以使用 readline 它将返回一个 字符串 向量,但 分裂 仍然工作)。
txt = {'剂量周期= 1'
'加药时间(ms) = 57'
'启动压力(psi) = 0.00 '
'结束压力(psi) = 0.05 '
'电池启动电压(mV) = 10'
'电池端电压(mV) = 110'};
res =分裂(txt,'='
res =6×2单元阵列
{'剂量周期'}{'→1'}{'剂量时间(ms)'}{'→57'}{'启动压力(psi)'}{'→0.00 '}{'结束压力(psi)'}{'→0.05 '}{'电池启动电压(mV)'}{'→10'}{'电池端电压(mV)'}{'→110'}
str2double(res(:,2))
ans = 6×1
1.0000 57.0000 0 0.0500 10.0000 110.0000
2的评论
里克
里克 2021年8月4日
readline 是内置的,它很容易下载我的 readfile 函数(在R2017a和更新版本上,你甚至可以使用AddOn Manager)。
所以我不知道我是否完全理解您对我的建议有什么意见。

登录评论。

更多的答案(0)

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!