I want to read a csv file and save it as .dat file without the commas. How can I do so?

 Réponse acceptée

Voss
Voss le 18 Mar 2022
Modifié(e) : Voss le 18 Mar 2022
% read the csv file:
data = readmatrix('data.csv')
data = 4×3
1 2 3 4 5 6 7 8 9 10 11 12
% write the data to .dat file using
% space as the delimiter (no commas):
writematrix(data,'data.dat','Delimiter',' ');
% check that the .dat file looks right:
fid = fopen('data.dat');
dat_data = fread(fid,'*char').';
fclose(fid);
disp(dat_data); % looks good
1 2 3 4 5 6 7 8 9 10 11 12
I assumed the .csv file contains just numbers. If that's not the case, then you'd have to use functions other than readmatrix() and writematrix().

6 commentaires

Hossam Amin
Hossam Amin le 19 Mar 2022
Thank you for the answer.
If I wanted to unify this code, to make it work on any csv file I have, by calling it as a function, what tweaks do I need to do? Instead of changing the filename on every file I want to convert.
Voss
Voss le 19 Mar 2022
Modifié(e) : Voss le 19 Mar 2022
This will create a .dat file with the same name and location as the .csv file given:
% calling the function, with the .csv file name as the input:
convert_csv_to_dat('data.csv')
% function definition:
function convert_csv_to_dat(csv_file)
% assume the name given is a name with .csv extension,
% and replace the 'csv' extension with 'dat' for the
% output file name (dat_file):
dat_file = csv_file;
dat_file(end-2:end) = 'dat';
% read the csv file:
data = readmatrix(csv_file);
% write the data to .dat file using
% space as the delimiter (no commas):
writematrix(data,dat_file,'Delimiter',' ');
end
Hossam Amin
Hossam Amin le 19 Mar 2022
Thank you
Voss
Voss le 19 Mar 2022
You're welcome!
Mateusz
Mateusz le 24 Mar 2023
Hi! How should I edit your script in order to modify multiple files file_00XXX.csv to dat files?
Thank you in advance!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Data Import and Analysis dans Centre d'aide et File Exchange

Produits

Version

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by