How to make a .csv file with data values in .txt
7 ビュー (過去 30 日間)
古いコメントを表示
Jaffrey Hudson Immanuel Jeyakumar
2019 年 6 月 24 日
Hallo,
I have a data .txt file with values as below,
0.000000e+00 0.000000e+00
1.005346e-04 1.842308e-20
2.006482e-04 6.750698e-20
3.000943e-04 3.313659e-19
4.002079e-04 6.749189e-19
5.003215e-04 1.001656e-18
6.004351e-04 1.332393e-18
7.005486e-04 1.622378e-18
8.006612e-04 3.978657e+01
9.001020e-04 2.101415e+03
1.000211e-03 5.359804e+03
1.100320e-03 8.372647e+03
I need to split them with some delimiter and export it to a .csv file with two columns so that I can plot the graph with Column 1 as X and Column two as Y.
Can anyone help me how to do it ?
Matlab R2015b
0 件のコメント
採用された回答
Star Strider
2019 年 6 月 24 日
If you want to read your file using readtable, you need to do some processing on it afterwards:
T = readtable('data.txt','ReadVariableNames',0);
T(1:3,:) = [];
T1 = varfun(@str2double,T);
T1.Properties.VariableNames = {'X','Y'};
figure
plot(T1.X, T1.Y) % Plot Table
grid
Note that ‘T’ imports the numerical data as strings, so you need to convert them to numerical variables to use them.
You can also use textscan to read it:
fidi = fopen('data.txt');
for k = 1:3
hdrs{k} = fgetl(fidi); % Read & Store Headers
end
C = textscan(fidi,'%f%f', 'CollectOutput',1); % Read & Store Numerical Data (Cell Array)
fclose(fidi);
D = cell2mat(C); % Store Numerical Data As Matrix (Optional)
figure
plot(C{:}(:,1), C{:}(:,2)) % Plot Cell Array
grid
figure
plot(D(:,1), D(:,2)) % Plot Matrix
grid
I would just leave your file as it is, however. If you want to store only the numerical values, just save (link) it as a .mat file.
0 件のコメント
その他の回答 (2 件)
madhan ravi
2019 年 6 月 24 日
編集済み: madhan ravi
2019 年 6 月 24 日
T = readtable('data.txt');
T1 = str2double(table2cell(T));
csvwrite('Wanted.csv',T1(~all(isnan(T1),2),:))
% after this the csv file can be read and it can be plotted
W = csvread('Wanted.csv');
plot(W(:,1),W(:,2))
3 件のコメント
Mingde
2022 年 5 月 23 日
Hello,
I would like to segment data in matlab by cutting or removing the text from csv file. I want to get only the new data as csv file after remove text.
finally, I want to get the csv data without text.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Text Files についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!