In Excel divide the single column into three columns
2 ビュー (過去 30 日間)
古いコメントを表示
Hi...In an Excel table, I want to divide the single column into three columns containing data from the first column,Select from A3 the three columns Tide Amplitude Phase
buffer=fileread('RasTanura 1980 AllYear._AnalysisLog.txt');
data= textscan(buffer, '%s %*f %f %f %f %f %f %f','delimiter','#');
data= [data{1},num2cell([data{2:end}])];
xlswrite('RasTanura 1980 AllYear.xlsx',data);

2 件のコメント
dpb
2017 年 12 月 23 日
Attach a short section of the original input file -- looks like should be able to just read it directly if you skip the three header lines. If you want to keep the three data values shown above, I don't understand why you would have written the format string you did???
採用された回答
Walter Roberson
2017 年 12 月 24 日
[~, txt] = xlsread('file1.xls');
TAP_cell = regexp(txt(4:29), '(?<Tide>\S+)\s+(?<Amplitude>\S+)\s+(?<Phase>\S+)', 'names', 'once');
TAP = vertcat(TAP_cell{:});
Tides = {TAP.Tide};
Amplitudes = str2double({TAP.Amplitude});
Phases = str2double({TAP.Phase});
JOPR_cells = regexp(txt(35:end), '\s+', 'split');
JOPR_cell = vertcat(JOPR_cells{:});
JOPR = str2double(JOPR_cell);
JDay_LSTs = JOPR(:,1);
Observeds = JOPR(:,2);
Predicteds = JOPR(:,3);
Residuals = JOPR(:,4);
6 件のコメント
Walter Roberson
2017 年 12 月 25 日
Remove the
Tides=(cellfun(@str2double, Tides)) ;
and use
T1 = cell2table( [Tides(:), num2cell(Amplitudes(:)), num2cell(Phases(:))], 'VariableNames', {'Tide', 'Amplitude', 'Phase'});
The problem is in trying to convert the Tide to numeric, since it is text.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Large Files and Big Data についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!