matlab如何批量讀取乙個資料夾下的多個txt檔案

2025-07-12 16:05:06 字數 3959 閱讀 7502

1樓:竹幹雪凱捷

比如說在e:ew下有一系列txt檔案,檔名符合matlab變數名的命名規則,並且沒有檔案,每個檔案有兩列,以空格分割,第一列是字串,第二列是浮點數字,要讀取第二列的浮點數字為陣列並以檔名為變數名。

file=dir('e:ew\*.txt');

forn=1:length(file)

temp=dlmread(['e:ew\',file(n).name],',0,1);

eval([file(n).name(1:end-4),'=temp;'])end

2樓:網友

dir ='e:\0大三上\資料探勘\';

for ii = 50419:52446

temp = textread([dir num2str(ii) '.txt']);

endtemp 就是讀取到的檔案。

matlab批量讀取乙個資料夾裡的txt檔案

3樓:海天盛

matlab批量讀取乙個資料夾裡的txt檔案的方法。

2.將文字檔案放入matlab的工作路徑中,方便讀取操作。例如,如果我的文字檔案在桌面上,我可以將matlab的工作路徑更改為桌面。

具體方法是點選matlab的省略號後的當前工作路徑,彈出選項選擇資料夾,然後選擇相應的路徑。

3.接下來,我們使用importdata函式來讀取檔案。例如,我想讀取乙個名為data的文字檔案,我可以在命令視窗中輸入:data=importdata('')。

4.結果表明,資料是乙個結構化陣列。在這一點上,我們可以看看結構的每個部分代表什麼。

如下圖所示,第乙個陣列表示文字檔案的數量,第二個和第三個陣列表示文字檔案中的漢字。此時,每個人都可以根據需要引用適當的陣列。

5.除了上述功能,您還可以使用tex胎面函式來讀取。使用該特性時,可以使用[a,b,c,d]=tex胎面('data')來指定輸出的每個部分的格式。

txt','2s%。3f%。3f%.

3f」)。文字中的第二個引號表示輸出的格式。例如,%2s表示第一列的輸出格式是單元格陣列%。3f表示輸出數字保留三位小數。

4樓:網友

比如說在e:ew下有一系列txt檔案,檔名符合matlab變數名的命名規則,並且沒有檔案,每個檔案有兩列,以空格分割,第一列是字串,第二列是浮點數字,要讀取第二列的浮點數字為陣列並以檔名為變數名。

file=dir('e:ew\*.txt');

for n=1:length(file)

temp=dlmread(['e:ew\',file(n).name],'0,1);

eval([file(n).name(1:end-4),'temp;']end

5樓:創舊黃

使用dir函式獲得指定資料夾下的所有子資料夾和檔案,並存放在在一種為檔案結構體陣列中。

dir函式可以有呼叫方式。

dir('.列出當前目錄下所有子資料夾和檔案。

dir('g:\matlab') 列出指定目錄下所有子資料夾和檔案。

dir('*m') 列出當前目錄下符合正規表示式的資料夾和檔案。

得到的為結構體陣列每個元素都是如下形式的結構體。

name --filename

date --modification date

bytes --number of bytes allocated to the file

isdir --1 if name is a directory and 0 if not

datenum --modification date as a matlab serial date number

分別為檔名,修改日期,大小,是否為目錄,matlab特定的修改日期。

可以提取出檔名以作讀取和儲存用。

2.我想不到什麼好方法,一般也就是使用乙個統一的臨時變數來讀取檔案資料,比如tmp,然後用乙個字串變數儲存的變數名,比如str='a1'

要實現a1=tmp這樣的語句,可以採用如下語句。

str_a1=[str,'=tmp'];

eval(str_a1);

這樣a1這個變數便出現在workspace中。

但是問題是你並不知道那個變數名字叫a1啊?或者說我還找不到利用字串值對變數定址的方法,只能使用與上述過程相反的過程將值匯入到乙個知道名字的變數中,如tmp.

有興趣的話可以**一下。

6樓:風飛小葉

我試了一下1樓的。

讀取某個資料夾下面的所有txt文件後,發現可以生成乙個(比如叫a)結構陣列。這個a的內容和1樓描述的一樣。

可惜我還是不能讀某個txt文件的資料。不知道具體怎麼弄?

matlab批量讀取乙個資料夾下的所有txt檔案,並將這些txt檔案裡面的內容都寫到乙個txt檔案當中來。

7樓:網友

沒必要用蠢物matlab批處理就可以搞定。

type *.txt>>

儲存為。bat檔案,然譁滾後帶蘆液執行就可以了。

matlab批量讀取乙個資料夾裡的txt檔案,匯入workspace中

8樓:子龍

這個要看你的txt檔案到底是多麼規則的,如果非常規則的話,直接呼叫函式就可以了,如果不規則的話,那還是要編寫一些**的再配合函式進行處理,網上有乙個非常好的論壇帖子討論的就是這個問題,很全,你可以自己學習下,如果不行,也可以與我**下,共同進步。**為。

matlab批量讀取乙個資料夾裡的txt檔案並轉換格式儲存

9樓:網友

path='輸入資料夾路徑';

data1=;

data2=;

for n=1:9

name=fullfile(path,[num2str(n) '.txt']);

fid=fopen(name,'r');%開啟檔案。

fgetl(fid);%跳過第一行。

s=fscanf(fid,'%x',[2 inf]).';%讀取並將16進位轉換為10進位整數。

s=s./2^24.*;除以2的24次乘以。

data1=[data1 s(:,1)];第一列合併到data1

data2=[data2 s(:,2)];第一列合併到data2

fclose(fid);

endxlswrite('輸出路徑資料夾檔名1',data1);%寫data1

xlswrite('輸出路徑資料夾檔名2',data2);%寫data2

每個檔案的資料要一樣長哦。

matlab怎樣批量讀取txt文字

10樓:甜食暖心

比如說在e:

ew下有一系列txt檔案,檔名符合matlab變數名的命名規則,並且沒有檔案,每個檔案有兩列,以空格分割,第一列是字串,第二列是浮點數字,要讀取第二列的浮點數字為陣列並以檔名為變數名。

file=dir('e:

ew\*.txt');

for n=1:length(file)

temp=dlmread(['e:

ew\',file(n).name],' ',0,1);

eval([file(n).name(1:end-4),'=temp;'])

matlab批量讀取txt檔案並運算

11樓:網友

用dir讀取檔案資訊後用fprintf儲存即可。

下面是例子,將d盤根目錄中所有的txt檔案的檔名儲存到e盤下的檔案中。

m=dir('d:\*txt');

f=fopen('e:\','w+');

for n=1:length(m)

fprintf(f,'%s',m(n).name);

endfclose(f);

matlab如何讀取十六進位制的dat檔案

讀取二進位制txt檔案 假如txt文件中內容為0001 0010 0011 0100 1000,儲存在pin.txt文件中 使用a textread pin.txt s a 0001 0010 0011 0100 1000 可以看到資料儲存為了char格式。使用bin2dec b bin2dec a...

excel裡面怎麼批量刪除乙個單元格里面一部分內容 ?

開啟excel後 點選 檔案 資料 分列 選 分隔符號 下一步 把 空格 前打上 點 完成 你也可以根據 固定寬度 來劃。選中這列區域 滑鼠右擊 設定單元格格式 數字下面裡的自定義 右邊型別下輸入 yyyy m d 選中單元格 右鍵 設定單元格格式 日期 選擇乙個你想要的格式吧!如果是文字格式,可以...

matlab儲存字串到乙個已經存在的txt檔案中,用什麼函式?

s hahaha dizhi d fid fopen dizhi,w fprintf fid,char s fclose all 字串和位址自行替換。這個如果檔案不存在,會自動建立空白txt。會覆蓋原有內容,如果要求在原文後面寫入,把第三行 w 換成 a matlab中的資料怎麼輸出到乙個已經存在...