txt文件matlab處理

2021-09-02 11:43:32 字數 2471 閱讀 5872

工程軟體常用txt格式儲存資料,但是不同軟體的資料介面不同,經常需要對資料重排版或者清洗。

掌握此項操作很簡單,只需要懂得兩點:一是檔案操作的基本函式,二是資料格式。本文將簡要介紹各函式,給出函式的詳細用法,最後用**片舉例。

本文包含以下部分:

數值格式轉換檔案自動讀寫

txt檔案的操作步驟有:開啟,讀寫,儲存。

檔案開啟一般用fopen,格式是:

檔案指標名=fopen(檔名,使用檔案方式)

「檔案指標名」表示了檔案位址;「使用檔案方式」是選擇對檔案的操作型別,比如唯讀或者讀寫。

對於fopen有以下幾點詳細介紹:

相應產生多種檔案開啟方式: 「rt」,「wt」,「at」 ,「rb」 ,「wb」,「ab」,「rt+」 ,「wt+」,「at+」 ,「rb+」 ,「wb+」,「ab+」

凡用「r」開啟乙個檔案時,該檔案必須已經存在,且只能從該檔案讀出。

用「w」開啟的檔案只能向該檔案寫入。若開啟的檔案不存在,則以指定的檔名建立該檔案,若開啟的檔案已經存在,則將該檔案刪去,重建乙個新檔案。

若要向乙個已存在的檔案追加新的資訊,只能用「a」方式開啟檔案。但此時該檔案必須是存在的,否則將會出錯。

在開啟乙個檔案時,如果出錯,fopen將返回乙個空指標值null。在程式中可以用這一資訊來判別是否完成開啟檔案的工作,並作相應的處理。

if

((fp=

fopen

("c:\\123"

,"rb")==

null){

printf

("\nerror on open c:\\123 file!");

getch()

;exit(1

);% 如果返回的指標為空,表示不能開啟c盤根目錄下的123檔案,則給出提示資訊「error on open c:\ 123 file!

」,下一行getch()

的功能是從鍵盤輸入乙個字元,但不在螢幕上顯示。在這裡,該行的作用是等待,只有當使用者從鍵盤敲任一鍵時,程式才繼續執行,因此使用者可利用這個等待時間閱讀出錯提示。敲鍵後執行exit(1

)退出程式。

把乙個文字檔案讀入記憶體時,要將ascii碼轉換成二進位製碼,而把檔案以文字方式寫入磁碟時,也要把二進位製碼轉換成ascii碼,因此文字檔案的讀寫要花費較多的轉換時間。對二進位制檔案的讀寫不存在這種轉換。

標準輸入檔案(鍵盤),標準輸出檔案(顯示器),標準出錯輸出(出錯資訊)是由系統開啟的,可直接使用。

檔案開啟後,就要對檔案進行讀寫操作,把資料存到矩陣(或向量)。檔案讀寫的函式比較多樣,fscanffread,等等,本文中只需要fscanf就能滿足需求。

fid =

fopen

('1.txt'

,'r');

% change input file name and addressa=

fscanf

(fid,

'%x',[

17,inf]

);

兩處說明的地方。

檔案的開啟有唯讀 『r』,只寫 『wt』,讀寫 『r+t』,等多種格式;

檔案資料的錄入的編碼方式, 有』%c』 字元型,』%f』 浮點數,』%o』 八進位制,』%x』16 進製,』%d』 十進位制,』%nd』,n表示有效數字的位數;

資料格式轉換很簡單,取,放。 取,選取需要的部分資料,並用乙個矩陣(向量)儲存第二步。放,以所需的格式將資料放置到合適的位置。

a檔案得到的是16進製制資料,轉換為常用的十進位制,取出其中的有效資料(9到12位),然後排列好,便於下一步excel處理。

clear ;

fid =

fopen

('123.txt'

,'r');

% change input file namea=

fscanf

(fid,

'%x',[

17,inf]);

fid1=

fopen

('output.txt'

,'wt');

for ii=1:

length(a

) count=

fprintf

(fid1,

'%02x ',a

(9:12

,ii));

fprintf

(fid1,

'\n');

endfclose

(fid1)

;

參考資料:

1.檔案的開啟(fopen函式),芸纖飄羽,csdn部落格

matlab修改txt文件內容

方法一 使用fscanf函式,但會出現問題 讀入的資料型別必須相同,否則不能讀入。方法二 按行讀取按行修改,可以完成任務要求,缺點是相對費時。以下介紹具體步驟。1 以讀的形式開啟文字 fopen 2 按行讀取文字內容 fgetl 3 將行內容儲存在陣列 結構體?中,其元素為字串。4 修改行內容 st...

Matlab讀取CAN盒生成的txt文件資料

文件內容如下 序號 傳輸方向 接收時間標識 幀id 幀格式 幀型別 資料長度 資料 0 接收 1600.8149 0x00000000 資料幀 擴充套件幀 0x05 00 00 01 00 00 1 接收 1600.8152 0x11111111 資料幀 擴充套件幀 0x06 fd 2e 63 08...

matlab將資料讀取和寫入txt文件

matlab中開啟檔案 fid fopen 檔名,開啟方式 說明 fid用於儲存檔案控制代碼值,如果fid 0,這說明檔案開啟成功。另外,在這些字串後新增乙個 t 如 rt 或 wt 則將該檔案以文字方式開啟 如果新增的是 b 則以二進位制格式開啟,這也是fopen函式預設的開啟方式。注 當用 a ...