1
我原始的CSV文件看起來像第一張圖片。我想用Matlab將它讀入格式爲第2張圖片。我有超過1000種相同類型的CSV文件,如果我通過複製/粘貼來完成這將是痛苦的。我怎樣才能做到這一點?任何例子?閱讀複雜的格式CSV文件到Matlab
原始數據:
輸出數據:
我原始的CSV文件看起來像第一張圖片。我想用Matlab將它讀入格式爲第2張圖片。我有超過1000種相同類型的CSV文件,如果我通過複製/粘貼來完成這將是痛苦的。我怎樣才能做到這一點?任何例子?閱讀複雜的格式CSV文件到Matlab
原始數據:
輸出數據:
首先要知道的是,一個.csv文件有一個非常簡單的格式。你上面的文件實際上是按照每行以下文本的純文本文件:
id,A001
height
a1,a2,a3
3,4,5
3,4,5
6,7,5
weight
a1,a2,a3
4,4,5
5,4,6
i6,7,5
所以,不是所有的辛苦爲你寫在Matlab自己的解析器。你想使用的命令一樣
fid = fopen('filename.csv','r');
L = fgetl(fid); % get a text line from the file
commas = find(L==','); % find where the commas are in the line
n1 = str2num(L(1:commas(1)-1); % convert the first comma-delimited number on line L
fidout - fopen('myfile.csv','w');
Lout = [ L(commas(2)+1:commas(3)-1) ', a1, a1'];
fwrite(fidout,Lout); % write a line out to the output file
fclose all; % close all open files.
它會顯得慢一讀中各種變量的各種值,然後安排他們寫出來的,你希望他們寫出到輸出文件的方式。但是一旦你滾動,它會變得非常快,你會發現自己對文件中的內容有很好的理解,並且你將會第一手知道如何編寫諸如texscan.m
或csvwrite.m
等等。
祝你好運!