1樓:大野瘦子
% 開啟檔案(注意修改檔名)
fid = fopen('480684994.txt','rt');
if fid == 0, return, end% 讀檔案直到結束
while ~feof(fid)
% 每次讀入一行
s = fgetl(fid);
% 以空格作為資料項的分隔符
2樓:
以matlab r2012b為例。
首先開啟matlab;
選擇current folder並加入當前路徑;
選擇指定的txt檔案,右鍵,選擇匯入資料;
選擇相應的資料型別,這裡應選matrix。
具體如下圖所示:
開始匯入資料
匯入資料
3樓:劉陽升
用load,textread或者importdata文字(txt)格式的檔案,只能識別資料,對其中的文字無法讀取。
可以使用fscanf或者sscanf的方式讀取,
思路為:定義cell矩陣,先全部以字元的方式讀入,再將其中的數字轉換為資料格式。
**如下:
m=8;n=3;
data=cell(m,n);%定義cell矩陣,儲存檔案內容
fid=fopen('test.txt','r');%以只讀方式開啟檔案
for i=1:m
for j=1:n
data=fscanf(fid,'%s',[1,1]);%以字元方式讀取每個值,遇空格完成每個值的讀取
endend
fclose (fid);
for i=1:m
for j=2:n
data=str2double(data);%將文字格式轉為數字格式
endend
str=cell(m,1);用於儲存data的第一列
for i=1:m
str=data;end
4樓:匿名使用者
你這第一列不是數字格式吧?
5樓:
可以試試dlmread函式
matlab讀取txt檔案中的資料存為矩陣
6樓:
1、開啟一個txt檔案,會發現他既有字元又有數值。
2、此時將字元全部刪除,只留下有用的資料數值。
3、記住該資料夾的地址,一會要作為路徑用於matlab讀取。
4、此時使用一個textread函式,函式內部代入剛才的txt檔案路徑。
5、textread函式會把這些資料讀成1為向量。我們將其分為兩列,用x和y代表,儲存為矩陣。
7樓:du瓶邪
1)開啟檔案
在讀寫檔案之前,必須先用fopen函式開啟或建立檔案,並指定對該檔案進行的操作方式。fopen函式的呼叫格式為:
fid=fopen(檔名,‘開啟方式’)
說明:其中fid用於儲存檔案控制代碼值,如果返回的控制代碼值大於0,則說明檔案開啟成功。檔名用字串形式,表示待開啟的資料檔案。常見的開啟方式如下:
‘r’:只讀方式開啟檔案(預設的方式),該檔案必須已存在。
‘r+’:讀寫方式開啟檔案,開啟後先讀後寫。該檔案必須已存在。
‘w’:開啟後寫入資料。該檔案已存在則更新;不存在則建立。
‘w+’:讀寫方式開啟檔案。先讀後寫。該檔案已存在則更新;不存在則建立。
‘a’:在開啟的檔案末端新增資料。檔案不存在則建立。
‘a+’:開啟檔案後,先讀入資料再新增資料。檔案不存在則建立。
另外,在這些字串後新增一個“t”,如‘rt’或‘wt+’,則將該檔案以文字方式開啟;如果新增的是“b”,則以二進位制格式開啟,這也是fopen函式預設的開啟方式。
2)關閉檔案
檔案在進行完讀、寫等操作後,應及時關閉,以免資料丟失。關閉檔案用fclose函式,呼叫格式為:
sta=fclose(fid)
說明:該函式關閉fid所表示的檔案。sta表示關閉檔案操作的返回**,若關閉成功,返回0,否則返回-1。如果要關閉所有已開啟的檔案用fclose(‘all’)。
2、二進位制檔案的讀寫操作
1)寫二進位制檔案
fwrite函式按照指定的資料精度將矩陣中的元素寫入到檔案中。其呼叫格式為:
count=fwrite(fid,a,precision)
說明:其中count返回所寫的資料元素個數(可預設),fid為檔案控制代碼,a用來存放寫入檔案的資料,precision代表資料精度,常用的資料精度有:char、uchar、int、long、float、double等。
預設資料精度為uchar,即無符號字元格式。
例6.8 將一個二進位制矩陣存入磁碟檔案中。
>> a=[1 2 3 4 5 6 7 8 9];
>> fid=fopen('d:\test.bin','wb') %以二進位制資料寫入方式開啟檔案
fid =
3 %其值大於0,表示開啟成功
>> fwrite(fid,a,'double')
ans =
9 %表示寫入了9個資料
>> fclose(fid)
ans =
0 %表示關閉成功
2)讀二進位制檔案
fread函式可以讀取二進位制檔案的資料,並將資料存入矩陣。其呼叫格式為:
[a,count]=fread(fid,size,precision)
說明:其中a是用於存放讀取資料的矩陣、count是返回所讀取的資料元素個數、fid為檔案控制代碼、size為可選項,若不選用則讀取整個檔案內容;若選用則它的值可以是下列值:n(讀取n個元素到一個列向量)、inf(讀取整個檔案)、[m,n](讀資料到m×n的矩陣中,資料按列存放)。
precision用於控制所寫資料的精度,其形式與fwrite函式相同。
3、文字檔案的讀寫操作
1)讀文字檔案
fscanf函式可以讀取文字檔案的內容,並按指定格式存入矩陣。其呼叫格式為:
[a,count]=fscanf(fid,format,size)
說明:其中a用來存放讀取的資料,count返回所讀取的資料元素個數,fid為檔案控制代碼,format用來控制讀取的資料格式,由%加上格式符組成,常見的格式符有:d(整型)、f(浮點型)、s(字串型)、c(字元型)等,在%與格式符之間還可以插入附加格式說明符,如資料寬度說明等。
size為可選項,決定矩陣a中資料的排列形式,它可以取下列值:n(讀取n個元素到一個列向量)、inf(讀取整個檔案)、[m,n](讀資料到m×n的矩陣中,資料按列存放)。
2)寫文字檔案
fprintf函式可以將資料按指定格式寫入到文字檔案中。其呼叫格式為:
fprintf(fid,format,a)
說明:fid為檔案控制代碼,指定要寫入資料的檔案,format是用來控制所寫資料格式的格式符,與fscanf函式相同,a是用來存放資料的矩陣。
例6.9 建立一個字元矩陣並存入磁碟,再讀出賦值給另一個矩陣。
>> a='string';
>> fid=fopen('d:\char1.txt','w');
>> fprintf(fid,'%s',a);
>> fclose(fid);
>> fid1=fopen('d:\char1.txt','rt');
>> fid1=fopen('d:\char1.txt','rt');
>> b=fscanf(fid1,'%s')
b =string
matlab讀txt檔案
fid=fopen('fx.txt','r'); %得到檔案號
[f,count]=fscanf(fid,'%f %f',[12,90]);
%把檔案號1的資料讀到f中。其中f是[12 90]的矩陣
%這裡'%f %f'表示讀取資料的形勢,他是按原始資料型讀出
fclose(fid);
%關閉檔案
另外有的txt檔案還可以用load來開啟
其語句為
f=load('fx.txt)
一個寫入txt檔案的小例子:
n=100;
r=rand(1,n);
fid = fopen('tt.txt','wt');
for k=1:n;
p=num2str(r(k));
fprintf(fid,'%c',p);
fprintf(fid,'%c\n',' ');
endfclose(fid);
8樓:匿名使用者
fid=fopen('檔名','r');
s=fread(fid,inf,'uint8=>char')';%讀取檔案內容
fclose(fid);
str=regexp(s,'([-+]?\d+)(\.)?(\d*)([ee][-+]?\d+)?','match');%匹配數值的字串
data=cellfun(@str2num,str);%字串轉為數值存在data中
a=reshape(data,[3 4 length(data)/12]);%整形
a=permute(data,[2 1 3]);
最後a是個三維矩陣,
a(:,:,1)是第一組資料,
a(:,:,2)是第二組資料。。。。以此類推
在倒數第三句中data已經是所有資料組成的行向量
你可以根據自己的需要,讓它變形為你所需要的資料
9樓:匿名使用者
你把資料放入到txt文件中。例如a=[資料]
在matlab中輸入檔名,就會生成變數a,當中儲存你的資料
vb怎樣把多個文字檔案合併為文字檔案
其實方法有很多,我就列舉常用的兩個吧.方法一 迴圈獲得資料夾裡的檔案 判斷是否為文字檔案 按行讀取文字檔案 下面我用dir 函式獲得資料夾裡的檔案,檔案將按 檔名 排序。也可以結合檔案系統來做。private sub command1 click dim folderpath as string,f...
python文字檔案資料處理,python小白 求助 讀取txt檔案,並進行資料處理
讀取一個文字檔案之後得到裡面出現最多的關鍵字 from time import time from operator import itemgetter def test 取 10 個,有需要可以修改,及定義讀取的檔案 test.txt ilist 10 strfilename test.txt c...
如何將文字檔案中資料匯入到sql表中
1 建立 load.ctl 檔案 load data characterset utf8 infile d importdata datafile data.txt into table table namefields terminated by trailing nullcols id,mobi...