呃!我收到了以逗號分隔值格式傳送的非常大的文本文件。我需要爲每個文件建立一個結構來進行數據分析。小菜一碟!我以前做過這個。我很快寫了一些代碼來構建結構。最終,我發現可能會出現這樣一種情況,即數據中的逗號來自真實數據,而不是意味着將數據分開。在離開工作之前我抓到了這個。現在在家工作,我希望能在這裏發佈解決方案或推薦解決方案。 (以下是我的代碼和數據文件示例)。感謝您的幫助,意見,解決方案和/或反饋。由於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