how to extract number from a .dat file and assign it to an excel sheet cell?
2 views (last 30 days)
Show older comments
I am using Fluent to extract surface integral values that are saved with a significant amount of text and the required numerical value. It looks like the following :
"Surface Integral Report"
Average of Surface Vertex Values
Wall Shear Stress (pascal)
-------------------------------- --------------------
wall 0.047597805
I would like to write a code to extract this numerical value, '0.047597805' from above .dat file and save it into a cell in an excel sheet ('.csv' or '.xlsx'). Please help!!
Accepted Answer
Bhaskar R
on 3 Feb 2020
Edited: Bhaskar R
on 3 Feb 2020
Assuming your a.dat file is with data
"Surface Integral Report"
Average of Surface Vertex Values
Wall Shear Stress (pascal)
-------------------------------- --------------------
wall 0.047597805
Then your code
T = readtable('a.dat'); % read data to table
T.Properties.VariableNames = {'Wall_Shear_Stress', 'pascal'}; % modify variable names
writetable(T, 'Reposrt.csv'); % write to csv/excel file
3 Comments
Bhaskar R
on 3 Feb 2020
Edited: Bhaskar R
on 3 Feb 2020
num_files = <number of .dat files you want to put in loop>
data = zeros(num_files, 1); % matrix is recommended instead of cell as require
for ii =1:num_files
file_name = <process your file path here > % e.g: file_name = fullfile(folder_path, sprintf('a%d.dat',ii)) assuming your filenames as a1.dat, a2.dat, a3.dat...
ext_data = readmatrix(file_name) % read file
data(ii) = ext_data(2); % first value you would get NaN beacuse of text field
end
writematrix(data, 'Reposrt.csv' ) % write data to csv file
More Answers (0)
See Also
Categories
Find more on Stress and Strain in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!