convert csv file and write to another .m file
Mostra commenti meno recenti
Hello,
I am having problem reading in this file to matlab.
Data = readtable('100Cr6.csv','NumHeaderlines',0,'DecimalSeparator',',');
FID = fopen('kf100CR6.m', 'w');
fwrite(FID, Data, 'char');
fclose(FID);
i use the following code but it does not run successfully?
every time showing an error message:
"Error using fwrite
Cannot write value: unsupported class table
Error in convertCSV (line 15)
fwrite(FID, Data, 'char');"
i want every data in double notation (like 1231.2354) format in a .m file. so that i can use these as columns or rows of matrix.
Does anyone have a solution to this?
Many thanks.
2 Commenti
Walter Roberson
il 6 Lug 2020
you have columns that have three parts separated by semi-colon. If those are acting as decimal points then you have too many of them. If they are acting as group separation then you appear to be missing a decimal separation.
jonas
il 6 Lug 2020
Risposta accettata
Più risposte (2)
jonas
il 6 Lug 2020
Error message says that table class is not supported. You can pass the content of the table or just read the data as a matrix directly. I would try
Data = readmatrix('100Cr6.csv','NumHeaderlines',1,'DecimalSeparator',',')
dlmwrite('filename.m', Data)
5 Commenti
Arif Ahmed
il 6 Lug 2020
Walter Roberson
il 6 Lug 2020
Add the option
'delimiter', ';'
to the readtable call
Arif Ahmed
il 6 Lug 2020
Arif Ahmed
il 6 Lug 2020
jonas
il 6 Lug 2020
I am getting the expected output.
Data = readmatrix('100Cr6.csv','NumHeaderlines',1,'DecimalSeparator',',')
dlmwrite('kf100CR6.m', Data)
clear all
mdata = load('kf100CR6.m');
size(mdata)
ans =
1248 4
mdata = [log(mdata(:,1)) log(mdata(:,2)) mdata(:,2) mdata(:,3) log(mdata(:,4))];
size(mdata)
ans =
1248 5
Arif Ahmed
il 6 Lug 2020
Modificato: Walter Roberson
il 6 Lug 2020
Categorie
Scopri di più su Characters and Strings in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!