當前位置:聚美館>智慧生活>心理>

data|studio如何匯入數據

心理 閱讀(3.25W)
data studio如何匯入數據

一、save與load函數儲存和加載程序數據

基本格式爲:

save('FILENAME', 'VARIABLES')

load('FILENAME', 'VARIABLES')

例如,save (&#','data','x','y','z') 表示將內存變量data, x, y, z 儲存到當前路徑下的檔案,其它程序若要載入這幾個變量的數據,只需前面路徑下執行load datas即可。

二、txt檔案的匯入匯出

1、 匯入格式一致的數據

例1 現有txt檔案如下:

代碼:

x1=load(&#') %注意設定當前路徑爲檔案所在路徑

x2=load(&#')

2、 匯入有固定分隔符的數據

dlmread('FILENAME', '分隔符', '讀取範圍')

例2讀取txt檔案如下(需要跳過前2行的非數據行,或列數不同):

代碼:

x3=dlmread(&#', ',', 2,0) %設定讀取的初始位置:2行0列之後的數據

x4=dlmread(&#') %列數不足用0不齊,load函數讀取將報錯

3、 將矩陣數據寫入指定分隔符的ASCII格式檔案

dlmwrite(‘檔案名’, ‘數據’, ‘分隔符’, ‘起始行’, ‘起始列’)

dlmwrite(‘檔案名’, ‘數據’, '-append')

'-append'表示將矩陣數據寫到文字末尾,若不指定將覆蓋原文字數據。

4、 匯入帶表頭的txt或excel數據

importdata(‘檔案名’, ‘分隔符’, ‘n’)

將數據存入“結構體”,其中,n表示n行表頭也可以用來讀入圖片:

x=importdata('tupian.jpg') image(x)

例3 讀入如下的txt檔案:

代碼:

x5=importdata(&#',' ',1) %空格分隔, 第1行是表頭

%數據

data %表頭變量

5、 匯入混合格式文字

textscan(fid, 'format', N, 'param', value)

其中,fid爲檔案句柄format爲讀取格式N表示用該格式讀取N次數據'param', value(可選項)指定分隔符和值對。

注意:使用textscan之前,必須先用fopen開啟要讀入的檔案函數textread用法類似。

例4 混合格式數據的txt檔案如下:

代碼:

fid=fopen(&#','r') %開啟檔案句柄

C=textscan(fid, '%s%s%f32%d8%u%f%f%s%f') %按格式讀入元胞數組C

fclose(fid) %關閉檔案句柄

C{1}

C{9}

[names,types,y,answer]=textread(&#','%9c %6s %*f %2d %3s', 1) %讀入固定格式的檔案的第一行,忽略其中的浮點值

執行結果:C{1} = 'Sally' 'Joe' 'Bill'

C{9} = 5.1000 + 3.0000i 2.2000 - 0.5000i 3.1000 + 0.1000i

names = Sally Lev

types = 'el1'

y = 45

answer = 'Yes'

三、csv檔案匯入與匯出

csv檔案是逗號分隔的txt檔案,使用csvread()函數,有3種格式:

csvread('filename', row, col, range)

其中,第一個參數指定檔案名

row和col指定開始讀取位置的行號和列號。注意是從0開始計數,即row=0, col=0表示從檔案中第一個數(1, 1)開始讀

range指定讀取的範圍,range=[R1 C1 R2 C2],表示讀取區域的左上角位置爲(R1+1, C1+1),讀取區域的右下角位置爲(R2-1, C2-1),且要求row, col等於R1, C1.

注意:csv檔案中的空項,讀到矩陣中時,會初始化爲0.

四、 Excel檔案的匯入與匯出

1、 匯入Excel數據檔案

[num, txt, raw] = xlsread('檔案名','工作表', '數據範圍')

例5 現有檔案(匯入Sheet1的A1至H4數據):

代碼:

[num,txt,raw]=xlsread(&#','Sheet1','A1:H4')

%數據返回num文字返回txt不處理直接作爲元胞返回raw

執行結果:

num =

1 60101 6010101 NaN 0 63 63

2 60101 6010102 NaN 0 73 73

3 60101 6010103 NaN 0 0 0

txt =

'序號' '班名' '學號' '姓名' '平時成績' '期末成績' '總成績' '備註'

'' '' '' '陳亮' '' '' '' ''

'' '' '' '李旭' '' '' '' ''

'' '' '' '劉鵬飛' '' '' '' '缺考'

raw =

'序號' '班名' '學號' '姓名' '平時成績' '期末成績' '總成績' '備註'

[ 1] [60101] [6010101] '陳亮' [ 0] [ 63] [ 63] [ NaN]

[ 2] [60101] [6010102] '李旭' [ 0] [ 73] [ 73] [ NaN]

[ 3] [60101] [6010103] '劉鵬飛' [ 0] [ 0] [ 0] '缺考'

2、 將數據匯出到Excel檔案

status = xlswrite(‘’, ‘數據’, ‘工作表’, ‘指定區域’)

成功返回1,失敗返回0.

例6 將矩陣或元胞數組的數據寫成xls檔案

代碼:

A=[12.7 5.02 -98 12 63.9 0 -0.2 56]

xlswrite(&#', A)

d={'Time', 'Temp' 12 98 13 99 14 97}

s=xlswrite(&#', d, 'Temperatures', 'E1')

%將數據d寫入檔案, Temperatures表,E1起始

例7 讀取數據、處理日期數據,根據日期繪製開盤價變化趨勢圖形。檔案如下(部分):

代碼:

[num,txt]=xlsread(&#')

%讀取excel表格中的數據,數值存入num,文字存入txt

date=txt(2:end,1) %取出日期數據單獨處理

t=datenum(date) %將日期轉化爲數值(方便繪圖使用)

date1=datestr(t) %將數值轉化爲日期

h=figure %生成空的圖形視窗句柄

set(h,'color','w') %將圖的背景顏色設爲白色

plot(t,num(:,1)) %以日期爲橫座標,開盤價爲縱座標,繪製圖形

%plot(t,num(:,1),'*') %繪製散點圖

datetick('x',23) %將x軸標註變成日期格式:mm/dd/yyyy

xlabel('日期')

ylabel('開盤價')

執行結果: