呃!我收到了以逗号分隔值格式传送的非常大的文本文件。我需要为每个文件建立一个结构来进行数据分析。小菜一碟!我以前做过这个。我很快写了一些代码来构建结构。最终,我发现可能会出现这样一种情况,即数据中的逗号来自真实数据,而不是意味着将数据分开。在离开工作之前我抓到了这个。现在在家工作,我希望能在这里发布解决方案或推荐解决方案。 (以下是我的代码和数据文件示例)。感谢您的帮助,意见,解决方案和/或反馈。由于MatLab - 导入CSV文本文件,其中包含逗号不意味着分开
DATA文件示例(5号线是哪里出了问题开始, 'Bubba1,TTR1' 不应该被分开):
陈,日期,时间,SignalName,模式#,纬度,经度,
01 ,12/12/12,01:01:20.234,OFF,0,39.185,-106.85,
01,12/12/12,01:01:20.345,OFF,0,39.185,-106.85,
01 ,12/12/12,01:01:20.445,OFF,0,39.185,-106.85,
01,12/12/12,01:01:20.545,Bubba1,TTR1,39.185,-106.85,
01,12/12/12,01:01:20.645,Bubba1,TTR1,1,39.185,-106.85,
01,12/12/12,01:01:20.745,Bubba1,TTR1,39.185,-106.85,
01,12/12/12,01:01:20.845,OFF,0,39.185, - 106.85,
我的代码:
clear;clc;
fid = fopen('test.txt');
fileHeader = textscan(fid,'%s',1,'delimiter','\n','headerlines',0);
fileHeader = strread(char(fileHeader{:}),'%s','delimiter',',')';
fileHeader = strrep(fileHeader,' ','');
fileHeaderLength=length(fileHeader);
format = repmat('%s',1,fileHeaderLength);
data = textscan(fid,format,'delimiter',',');
data=[data{:}];
我假设的规则是,只有SignalName将非逗号分隔条件? – user1543042
是的,这是正确的。 – MTM