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中的資料怎麼輸出到乙個已經存在...