2016-02-27 136 views
1

我有幾個文本文件包含2列,只包含我想使用matlab導入到一個Excel電子表格(Excel 2016)中的數字。使用matlab(R2014a)的原因是因爲後來我有處理數據的腳本以及我熟悉的唯一編程語言。 我試圖使用以下 Using matlab to save a 100 text files to a one excel file but into different spread sheet? 但我只是不能理解任何東西,因爲我是一個新手和這個例子,我認爲是製作幾個excel文件,而我只想要一個。謝謝您的幫助!不勝感激。使用matlab將幾個文本文件導入到excel電子表格中

+0

你可以提供一個示例文本文件?問這個問題的理由是知道文本文件中2列之間的間距。 此外,當您閱讀第二個文本文件時,是否需要在同一工作簿中的同一工作簿(或)中的新工作表中的數據? 如果在同一工作簿中有相同的工作表,是否要將從第二個文本文件讀取的數據置於從第一個文本文件讀取的數據下? –

+0

1)我希望數據位於同一張工作表和同一工作簿中2)來自第2個文本文件的數據應該位於第1個文本文件中的數據旁邊。因此,第1列和第2列中的第1個文本文件數據和第3列和第4列中的第2個數據文件等等........示例文件的鏈接位於此鏈接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'中使用'delimiter'的一些信息,但我不知道如何去做。 2)是否有可能將excel文件的第一行作爲包含asci文件名稱的標題?我總是很難弄清楚這一點。 – fatima55

+0

''all_files = dir('*。asc'); col = 1; for k = 1:1:length(all_files); filename = all_files(k).name; fid = fopen(filename); data = textscan(fid,'%s%s'); fclose(fid);數據(:,col)=數據{1}; col = col + 1;數據(:,col)=數據{2}; col = col + 1; 清除數據; end filename ='Datum.xls'; sheet = 1; xlswrite(文件名,數據,工作表,'A1'); 關閉所有;' – fatima55

+0

sparts = strread(desired_string,'%s','delimiter',','); sparts(0)將在逗號前具有部分字符串 –