У моего файла есть заголовок и заголовок каждого столбца, а затем столбцов.Я заинтересован в извлечении данных из 4-го столбца в переменную MATLAB.
Я столкнулся с несколькими проблемами.Один из них состоит в том, что в нем около 3 миллионов ячеек, и MATLAB по какой-то причине усекает его, когда я использую мастер импорта (он усекает файл до 191 686 строк).*
Channels: 1
Count: 3600000
Start: 40640.854055 04/07/11 16:29:50
End: 40640.895721 04/07/11 17:29:50
Date Time Time Stamp Time from Start EEG 1_8401
04/07/11 16:29:50 40640.687388 0.000000 3.854626e+001
04/07/11 16:29:50 40640.687388 0.001000 2.664706e+001
04/07/11 16:29:50 40640.687388 0.002000 1.425481e+001
04/07/11 16:29:50 40640.687388 0.003000 1.704369e+000
04/07/11 16:29:50 40640.687388 0.004000 -1.070827e+001
04/07/11 16:29:50 40640.687388 0.005000 -2.290569e+001
Вот скрипт, который я использовал для импорта файла, когда он был усечен:
function importfile(fileToRead1)
DELIMITER = '\t';
HEADERLINES = 6;
% Import the file
newData1 = importdata(fileToRead1, DELIMITER, HEADERLINES);
vars = fieldnames(newData1);
for i = 1:length(vars)
assignin('base', vars{i}, newData1.(vars{i}));
end
Я думал сделать что-то подобное с textscan
, но не уверен, какпропустите заголовки и продолжайте получать ошибки переполнения буфера:
fid = fopen('scan1.dat');
C = textscan(fid, '%*d/%*d/%*d %*d:%*d:%*d %*f %*f %f')
fclose(fid);