Good way to import data file

6 次查看(过去 30 天)
Hey, I need to import a large data file into matlab, but I'm unsure of the best way to do it. I've been experimenting with the fopen and textscan but can't get anything to work correctly. Any help is appreciated.

采纳的回答

Michael Haderlein
编辑:Michael Haderlein 2015-5-5
If the format doesn't change through the file (such that after 10 s, suddenly also data about whatever appears), you can simply use:
fid=fopen('test.txt');
data=textscan(fid,'%*s%f','delimiter',':');
fclose(fid);
t=data{1}(1:4:end);
gs=data{1}(2:4:end);
gflat=data{1}(4:4:end);
gflong=data{1}(3:4:end);

更多回答(1 个)

David Sanchez
David Sanchez 2015-5-5
I'm sure this might be shorter, but I guess it'll be a valid solution for you:
fid = fopen('your_file_name_here.txt');
my_file = textscan(fid, '%s', 'delimiter', '\n');
my_file = my_file{1};
fclose(fid)
% now you have a cell array (my_file) with each line of your *.txt in a different
% cell
% you can extract the values like this:
L = length(my_file); % number of lines in your file
my_data = zeros(L,1); % initialization of matrix to hold your data
for k = 1:L % loop along each line
str_value = textscan(my_file{k}, '%s %s', 'delimiter', ':' );
my_data(k) = str2double(cell2mat(str_value{1,2}));
end
I guess you can figure out how to assign every four values to each variable

类别

Help CenterFile Exchange 中查找有关 Low-Level File I/O 的更多信息

标签

尚未输入任何标签。

Community Treasure Hunt

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

Start Hunting!

Translated by