當前位置:首頁 » 辦公資訊 » 怎樣讀取dta格式文件

怎樣讀取dta格式文件

發布時間: 2022-05-11 22:30:49

① 聲發射數據文件是.DTA文件格式,如何將這種文件格式轉入到MATLAB分析軟體中

你可以從dat文件中把數據都出,存為一個矩陣,然後就可以對該矩陣做分析,比如四則運算和變換等操作。下面的例子是將數據寫為dat文件,然後從dat文件中讀出的範例,供你參考。

%初始化矩陣
result = zeros(10,10);
[nRow, nColumn] = size(result);
nSize = nRow * nColumn;

%將矩陣存入文件中

fid = fopen(filename,'rb');
if (fid==1)
error('Cannot open image file...press CTRL-C to exit ');
end
temp = fwrite(fid, result', 'uchar');
fclose(fid);

%從文件中讀取數據,並存入矩陣
fid = fopen(filename,'rb');
if (fid==1)
error('Cannot open image file...press CTRL-C to exit ');
end
temp = fread(fid, nSize, 'uchar');
fclose(fid);

result = reshape(temp, [nRow nColumn])';

② 如何讀取DAT文件內容

//調用時, 只要 readFile("C:\\test.dat");
public String readFile(String path) throws IOException...{
File file=new File(path);
if(!file.exists()||file.isDirectory())
throw new FileNotFoundException();
BufferedReader br=new BufferedReader(new FileReader(file));
String temp=null;
StringBuffer sb=new StringBuffer();
temp=br.readLine();
while(temp!=null)...{
sb.append(temp+" ");
temp=br.readLine();
}
return sb.toString();
}

③ matlab讀取dat文件

這是我之前處理心電數據時的程序。
心電數據是dat,不知道符不符合你的咯。
%-------------------------------------------------------------------------
% 程序Fun_ReadECGData 用於讀取ECG信號數據,將原始的二值數據轉換為十進制數
% 輸入參數及其示例:
% PATH= 'D:/MATLAB/R2007b/work/ECG Data'; % 指定數據的儲存路徑
% HEADERFILE= '117.hea'; % .hea 格式,頭文件,可用記事本打開。這個其實只是記錄你的dat數據的一些信息的
% DATAFILE='117.dat'; % .dat 格式,ECG 數據
% SAMPLES2READ=2048; % 指定需要讀入的樣本數
% % 若.dat文件中存儲有兩個通道的信號:
% % 則讀入 2*SAMPLES2READ 個數據
% 輸出參數:M —— 一個SAMPLES2READ行2列的數據矩陣,每列數據代表一個通道的信號值
%-------------------------------------------------------------------------

function M = Fun_ReadECGData(PATH,HEADERFILE,DATAFILE,SAMPLES2READ)

%------ LOAD HEADER DATA --------------------------------------------------
%------ 讀入頭文件數據 -----------------------------------------------------
%
% 示例:用記事本打開的117.hea 文件的數據
%
% 117 2 360 650000
% 117.dat 212 200 11 1024 839 31170 0 MLII
% 117.dat 212 200 11 1024 930 28083 0 V2
% # 69 M 950 654 x2
% # None
%
%-------------------------------------------------------------------------

%-------------------------------------------------------------------------
% 【注】函數 fprintf 的功能將格式化的數據寫入到指定文件中。
% 表達式:count = fprintf(fid,format,A,...)
% 在字元串'format'的控制下,將矩陣A的實數數據進行格式化,並寫入到文件對象fid中。該函數返回所寫入數據的位元組數 count。
% fid 是通過函數 fopen 獲得的整型文件標識符。fid=1,表示標准輸出(即輸出到屏幕顯示);fid=2,表示標准偏差。
%-------------------------------------------------------------------------

fprintf(1,'//n$> WORKING ON %s .../n', HEADERFILE); % 在Matlab命令行窗口提示當前工作狀態
signalh= fullfile(PATH, HEADERFILE); % 通過函數 fullfile 獲得頭文件的完整路徑
fid1=fopen(signalh,'r'); % 打開頭文件,其標識符為 fid1 ,屬性為'r'--「只讀」
z= fgetl(fid1); % 讀取頭文件的第一行數據,字元串格式
A= sscanf(z, '%*s %d %d %d',[1,3]); % 按照格式 '%*s %d %d %d' 轉換數據並存入矩陣 A 中
nosig= A(1); % 信號通道數目
sfreq=A(2); % 數據采樣頻率
clear A; % 清空矩陣 A ,准備獲取下一行數據
for k=1:nosig % 讀取每個通道信號的數據信息
z= fgetl(fid1);
A= sscanf(z, '%*s %d %d %d %d %d',[1,5]);
dformat(k)= A(1); % 信號格式; 這里只允許為 212 格式
gain(k)= A(2); % 每 mV 包含的整數個數
bitres(k)= A(3); % 采樣精度(位解析度)
zerovalue(k)= A(4); % ECG 信號零點相應的整數值
firstvalue(k)= A(5); % 信號的第一個整數值 (用於偏差測試)
end;
fclose(fid1);
clear A;

%------ LOAD BINARY DATA --------------------------------------------------
%------ 讀取 ECG 信號二值數據 ----------------------------------------------
%
% 說明:.dat 文件的數據格式
%
% 用 uint8 格式讀入 N 個樣本,存入矩陣 A 中,則 A 有 N 行、3列,每列一個位元組,
% 即每行用三個位元組表示兩個數m1、m2,每個數 12 bits,故又稱為 212 格式
% m1的低8位存放在 A(:,1),m2的低8位存放在A(:,3),
% m1的高4位存放在A(:,2)的低4位,m2的高4位存放在A(:,2)的高4位
%
% 根據上述數據格式,可以用一系列移位、位與操作,提取出十進制格式的雙通道信號數據
%
%-------------------------------------------------------------------------

if dformat~= [212,212], error('this script does not apply binary formats different to 212.'); end;
signald= fullfile(PATH, DATAFILE); % 讀入 212 格式的 ECG 信號數據
fid2=fopen(signald,'r');
A= fread(fid2, [3, SAMPLES2READ], 'uint8')'; % 矩陣A共有SAMPLES2READ行、3列,每列數據都是以uint8格式讀入,注意這時數據通過uint8的讀入方式已經成為十進制數了
fclose(fid2);
M2H= bitshift(A(:,2), -4); % 位元組向右移四位,即取位元組的高四位,屬於信號2的高4位
M1H= bitand(A(:,2), 15); % 取位元組的低四位,屬於信號1的高4位
PRL=bitshift(bitand(A(:,2),8),9); % sign-bit 取出位元組低四位中最高位,向左移九位
PRR=bitshift(bitand(A(:,2),128),5); % sign-bit 取出位元組高四位中最高位,向左移五位
M( : , 1)= bitshift(M1H,8)+ A(:,1)-PRL; % 將M1H、M2H分別左移8位,即乘以2^8,再分別加上A(:,1),A(:,2),
M( : , 2)= bitshift(M2H,8)+ A(:,3)-PRR; % 由於左移時把符號位也移動了,要減去符號位的值
M=M'; % 為了方便後期的數據處理,將輸出矩陣 M 轉置為2行SAMPLES2READ列
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%下面是調用啦。。。
%%%%%%%%%%%%%%%%%%%%%%
clear.clc.
PATH='E:\xiangmu\MIT-BIN';
A=[];
for i=100:131
HEADERFILE= strcat(num2str(i),'.hea'); % .hea 格式,頭文件,可用記事本打開
DATAFILE=strcat(num2str(i),'.dat'); % .dat 格式,ECG 數據
SAMPLES2READ=2048; % 指定需要讀入的樣本數
A(i-99,:)=Fun_ReadECGData(PATH,HEADERFILE,DATAFILE,SAMPLES2READ);
end
save A

④ dat格式的文件怎麼打開

dat這個文件沒有規定是什麼格式的,意思就是DATA,數據文件的意思,具體都是由軟體定製的,一般是什麼軟體弄出來的只能用那個軟體打開才有意義。當然用十六進制軟體打開是可以的。不過一般顯示出來的都是亂碼,也可能有一些可以看懂的有用的東西。
[s:162]

⑤ dta格式文件如何讀取數據

1、dta文件有兩種,一種是VCD文件,可以用常用的播放器如QQ影音,暴風影音或者Windows Media Player直接打開。
2、還有一種是加密的資料庫文件,這樣的資料庫文件多是用特殊的加密演算法合成的文件,把這個文件的後綴改成DTA文件的,是不能打開的。

⑥ C++用什麼方法可以讀取文件.dat後綴格式的文件

程序讀取文件只區分是二進制文件還是文本文件,對文件後綴不感冒(也就是為什麼UNIX系統的文件不必有後綴名,文件後綴只是windows系統必須的東西)

C++讀取文件可以用文件流
#include <fstream>
#include <string>
#include <stdlib.h>
using namespace std;

ifstream ifs("filename.dat");//以讀方式打開文件
string s;//接受字元串
const size_t size_of_array = 100;//定義數組容量
int array[size_of_array];
size_t i = 0;//數組下標
while(ifs >> s)//每次讀取一個字元串到s中(遇到空白字元返回,包括空格、換行、tab),因為每行一個數,所以會讀取一行,讀取到最後,流遇到文件結束符,流狀態無效退出循環
{
sscanf(s.c_str(), "%d", &array[i++]);//格式化讀取字元串中的數字
}

⑦ c語言如何讀取dat文件

dat文件和普通txt文件相同,都是文本格式,使用普通文本操作函數讀取即可。

1、C語言標准庫提供了一系列文件操作函數。文件操作函數一般以f+單詞的形式來命名(f是file的簡寫),其聲明位於stdio.h頭文件當中。例如:fopen、fclose函數用於文件打開與關閉;fscanf、fgets函數用於文件讀取;fprintf、fputs函數用於文件寫入;ftell、fseek函數用於文件操作位置的獲取與設置。
2、常式:

#include<stdio.h>
inta;
charb,c[100];
intmain(){
FILE*fp1=fopen("input.dat","r");//打開dat格式的輸入文件
FILE*fp2=fopen("output.txt","w");//打開輸出文件
if(fp1==NULL||fp2==NULL){//若打開文件失敗則退出
puts("不能打開文件!");
rturn0;
}
fscanf(fp1,"%d",&a);//從輸入文件讀取一個整數
b=fgetc(fp1);//從輸入文件讀取一個字元
fgets(c,100,fp1);//從輸入文件讀取一行字元串

printf("%ld",ftell(fp1));//輸出fp1指針當前位置相對於文件首的偏移位元組數

fputs(c,fp2);//向輸出文件寫入一行字元串
fputc(b,fp2);//向輸出文件寫入一個字元
fprintf(fp2,"%d",a);//向輸出文件寫入一個整數

fclose(fp1);//關閉輸入文件
fclose(fp2);//關閉輸出文件,相當於保存
return0;
}

⑧ 怎麼讀取.dat文件

dat文件和普通txt文件相同,都是文本格式,使用普通文本操作函數讀取即可。
1、C語言標准庫提供了一系列文件操作函數。文件操作函數一般以f+單詞的形式來命名(f是file的簡寫),其聲明位於stdio.h頭文件當中。例如:fopen、fclose函數用於文件打開與關閉;fscanf、fgets函數用於文件讀取;fprintf、fputs函數用於文件寫入;ftell、fseek函數用於文件操作位置的獲取與設置。2、常式:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

#include<stdio.h>
int a;
char b,c[100];
int main(){
FILE * fp1 = fopen("input.dat", "r");//打開dat格式的輸入文件
FILE * fp2 = fopen("output.txt", "w");//打開輸出文件
if (fp1==NULL || fp2==NULL) {//若打開文件失敗則退出
puts("不能打開文件!");
rturn 0;
}
fscanf(fp1,"%d",&a);//從輸入文件讀取一個整數
b=fgetc(fp1);//從輸入文件讀取一個字元
fgets(c,100,fp1);//從輸入文件讀取一行字元串

printf("%ld",ftell(fp1));//輸出fp1指針當前位置相對於文件首的偏移位元組數

fputs(c,fp2);//向輸出文件寫入一行字元串
fputc(b,fp2);//向輸出文件寫入一個字元
fprintf(fp2,"%d",a);//向輸出文件寫入一個整數

fclose(fp1);//關閉輸入文件
fclose(fp2);//關閉輸出文件,相當於保存
return 0;
}

⑨ 擴展名為DAT的文件怎麼讀取

DAT
視頻文件
為VCD專用格式,其實編碼和
MPEG格式
一樣
直接

.DAT
改為
.MPEG
就可以用任何播放器播放
Kmplayer
v2.9.3.1214
漢化版
http://www.crsky.com/soft/5118.html
可以直接播放
DAT文件

熱點內容
馬路上汽車的噪音在多少分貝 發布:2023-08-31 22:08:23 瀏覽:1814
應孕棒多少錢一盒 發布:2023-08-31 22:08:21 瀏覽:1298
標准養老金一年能領多少錢 發布:2023-08-31 22:05:05 瀏覽:1579
湖北通城接網線多少錢一個月 發布:2023-08-31 21:59:51 瀏覽:1665
開隨車吊車多少錢一個月 發布:2023-08-31 21:55:06 瀏覽:1424
京東付尾款怎麼知道前多少名 發布:2023-08-31 21:52:58 瀏覽:1747
在學校租鋪面一個月要多少錢 發布:2023-08-31 21:52:09 瀏覽:1880
2寸有多少厘米 發布:2023-08-31 21:50:34 瀏覽:1527
知道電壓如何算一小時多少電 發布:2023-08-31 21:46:20 瀏覽:1502
金手鐲54號圈周長是多少厘米 發布:2023-08-31 21:44:28 瀏覽:1686