2016-02-27 4 views
1

У меня есть несколько текстовых файлов с 2 столбцами, содержащих только числа, которые я бы хотел импортировать в одну таблицу Excel (Excel 2016) с использованием matlab. Причина использования matlab (R2014a) заключается в том, что у меня позже есть сценарии, обрабатывающие данные, а также его единственный язык прогейминга, с которым я слегка знаком. Я попытался использовать следующее Using matlab to save a 100 text files to a one excel file but into different spread sheet? , но я просто не мог понять ничего, поскольку я новичок, и этот пример, я думаю, предназначен для создания нескольких файлов excel, пока я хочу только один. Спасибо за помощь! Очень ценится.импортировать несколько текстовых файлов в таблицу Excel с использованием matlab

+0

вы можете предоставить текстовый файл образца? Причина, по которой задается вопрос, - это знать расстояние между двумя столбцами в текстовом файле. Кроме того, когда вы читаете второй текстовый файл, вы хотите, чтобы данные на новом листе в той же книге (или) на одном листе в той же книге? Если на одном листе в одной книге вы хотите поместить данные из второго текстового файла в данные, прочитанные из первого текстового файла? –

+0

1) Я хотел бы, чтобы данные были на одном листе и той же книге. 2) данные из второго текстового файла должны быть рядом с данными из 1-го текстового файла. Итак, первые данные текстового файла в столбцах 1 и 2 и 2-й файл данных в столбцах 3 и 4 и т. Д. ........ ссылка на файл примера находится по этой ссылке http: //www.filedropper. com/an050me – fatima55

ответ

0
content = dir(); 
col = 1; 
for i = 1:10 
    if content(i).isdir ~= 1 
     fileID = fopen('AN050ME.ASC'); 
     data = textscan(fileID, '%s %s'); 
     fclose(fileID); 
     datum(:, col) = data{1}; 
     col = col + 1; 
     datum(:, col) = data{2}; 
     col = col + 1; 
     clear data; 
    end 
end 

filename = 'Datum.xls'; 
sheet=1; 
xlswrite(filename, datum, sheet, 'A1'); 
close all; 

Это основной рабочий алгоритм, необходимо продолжить работу над ним, чтобы оптимизировать его для speeed

Советы: 1. предварительно объявить размер данности, исходя из количества файлов. 2. Если все файлы, которые вы должны прочитать, имеют то же расширение, только чтение их через Dir()

Успехов для тонкой настройки

+0

спасибо. Поскольку я новичок, я немного изменил свой первоначальный код на нечто более знакомое мне. Я получил таблицу Excel, которую я хотел, но 1) Я также получаю запятые в ячейках Excel, которые я хотел бы удалить. Я прочитал что-то об использовании «разделителя» в «textscan», но я не уверен, как это сделать. Также 2) можно ли получить первую строку файла excel в виде заголовка, который содержит имя файла asci? Мне всегда трудно понять это. – fatima55

+0

'' all_files = dir ('*. Asc'); col = 1; для k = 1: 1: length (all_files); имя_файла = all_files (k) .name; fid = fopen (имя файла); data = textscan (fid, '% s% s'); fclose (fid); datum (:, col) = data {1}; col = col + 1; datum (:, col) = data {2}; col = col + 1; четкие данные; конец имя_файла = 'Datum.xls'; лист = 1; xlswrite (имя файла, дата, лист, 'A1'); закрыть все; '' – fatima55

+0

sparts = strread (wish_string, '% s', 'delimiter', ','); sparts (0) будет иметь часть строки перед запятой –

Смежные вопросы