从.txt文件导入数据

时间:2020-01-13 09:23:11

标签: matlab import

我有一个.txt文件,内容如下:

Start Time: 1/9/2020 4:41:09 PM
Sample Rate: 256
Unit: 

Data:
-800
-800
-573

导入它以保留“结构”结构的正确方法是什么?

必需的输出如下:

output = struct('Start Time', '1/9/2020 4:41:09 PM', 'Sample Rate', '256', ... 
'Unit', '', 'Data', ['-800', '-800', '-573']);

1 个答案:

答案 0 :(得分:1)

您可以使用textscan,使用格式说明符%s导入未格式化的数据(每行仅一个字符串)。之后,您需要将该字符串细分为您的结构,例如像这样:

fid=fopen('test.txt');
data_raw=textscan(fid,'%s', 'Delimiter','');
data_raw=data_raw{1};
begin_time=strfind(data_raw{1},': ');
begin_rate=strfind(data_raw{2},': ');
begin_unit=strfind(data_raw{3},': ');
data_struct=struct('start_time',data_raw{1}((begin_time+2):end),...
    'sample_rate',str2num(data_raw{2}((begin_rate+2):end)),...
    'unit',data_raw{3}((begin_rate+2):end),...
    'data',str2num(cell2mat(data_raw(5:end))));
相关问题