返回首页

data studio如何导入数据?

54 2024-03-10 18:40 摩托车报价网

一、save与load函数保存和加载程序数据

基本格式为:

save('FILENAME', 'VARIABLES')

load('FILENAME', 'VARIABLES')

例如,save ('datas.mat','data','x','y','z'); 表示将内存变量data, x, y, z 保存到当前路径下的datas.mat文件,其它程序若要载入这几个变量的数据,只需前面路径下执行load datas;即可。

二、txt文件的导入导出

1. 导入格式一致的数据

例1 现有txt文件如下:

代码:

x1=load('data1.txt'); %注意设置当前路径为文件所在路径

x2=load('data2.txt');

2. 导入有固定分隔符的数据

dlmread('FILENAME', '分隔符', '读取范围')

例2读取txt文件如下(需要跳过前2行的非数据行,或列数不同):

代码:

x3=dlmread('data3.txt', ',', 2,0) ; %设定读取的初始位置:2行0列之后的数据

x4=dlmread('data4.txt'); %列数不足用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('data5.txt',' ',1); %空格分隔, 第1行是表头

x5.data %数据

x5.textdata %表头变量

5. 导入混合格式文本

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

其中,fid为文件句柄;format为读取格式;N表示用该格式读取N次数据;'param', value(可选项)指定分隔符和值对。

注意:使用textscan之前,必须先用fopen打开要读入的文件;函数textread用法类似。

例4 混合格式数据的txt文件如下:

代码:

fid=fopen('data6.txt','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('data7.txt','%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('文件名.xls','工作表', '数据范围')

例5 现有data1.xlsx文件(导入Sheet1的A1至H4数据):

代码:

[num,txt,raw]=xlsread('data1.xlsx','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(‘filename.xls’, ‘数据’, ‘工作表’, ‘指定区域’)

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

例6 将矩阵或元胞数组的数据写成xls文件

代码:

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

xlswrite('testdata.xls', A)

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

s=xlswrite('tempdata.xls', d, 'Temperatures', 'E1')

%将数据d写入文件tempdata.xls, Temperatures表,E1起始

例7 读取数据、处理日期数据,根据日期绘制开盘价变化趋势图形。ExpData.xlsx文件如下(部分):

代码:

[num,txt]=xlsread('ExpData.xlsx');

%读取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('开盘价');

运行结果:

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
用户名: 验证码:点击我更换图片
热点提要

网站地图 (共327个专题293626篇文章)

返回首页