In Excel divide the single column into three columns
1 次查看(过去 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!