%读取带变量名的数据集的程序,寇文红2007年5月24日于畅春园。
%这是一个读取数据集的程序,目的是把如下带变量名的数据矩阵读进MATLAB。
% <DTYYYYMMDD>,<TIME>,<OPEN>,<HIGH>,<LOW>,<CLOSE>,<VOL>
% 20040615,212000,0.6987,0.6987,0.6986,0.6986,2
% 20040615,212100,0.6987,0.6987,0.6987,0.6987,1
% 20040615,212200,0.6988,0.6988,0.6987,0.6987,2
%这样在处理比较大、多的数据集时,就不需要把文件打开去掉最上面一行了。
 
tic
clear
%用如下方来来读取,把CollectOutput设为0,则MATLAB会把每一列的数字返回成一个数组。
fid = fopen('E:\v time deformation\EURUSD.txt','r');  %打开要读取的数据集,'r'表示要读取打开文件,r是默认值。
C_text = textscan(fid,'%s',7, 'delimiter',',');       %上句读取第一行的文字,即变量名。
C_data = textscan(fid,'%f %f %f %f %f %f %f','delimiter',',','CollectOutput', 0);  
%上句读取第2行以后的数据矩阵。
%其中设定'delimiter',','是因为原文件里每两个数据之间是用逗号隔开的。
%设定'CollectOutput'为默认值0,这样MATLAB把各列分别当作数组返回。
 
fclose(fid);
% C_text{:}                         %这一句返回数组C_text的全部内容(元素)。
% C_text{1}                         %这一句返回数组C_text第1列的内容(元素)。
% C_text(:)                         %这一列返回数组C_text的整体结构。
% C_text(1)                         %这一句返回数组C_text第1列的结构:{8x1 cell}
% C_data{:}                         %查看数组C_data的全部元素,以一列一列的形式返回。
% C_data{1}                         %这一句返回数组C_fata第1列的内容(元素)。是一个列向量。
% C_data{4}                         %这一句返回数组C_data的第4列的元素。是一个列向量。
% C_data(:)                         %这一列返回数组C_data的整体结构。
% C_data(1)                         %这一句返回数组C_data的第1列的结构。
 
%现在可以把数组C_data的各列赋予新的名称。例如:
date = C_data{1};
time = C_data{2};
open = C_data{3};
high = C_data{4};
low = C_data{5};
close = C_data{6};                 
vol = C_data{7};             %以上分别是日期,时点,开盘价,最高价,最低价,收盘价,交易次数。
 
% 现在可以把上述各列数据组成一个新的数据矩阵,以便进一步分析之用。例如:
EURUSD = [date,time,open,high,low,close,vol];
% 也可以用EURUSD=cat(2,date,time,open,high,low,close,vol) 或EURUSD = horzcat(date,time,open,high,low,close,vol); 
%注意:如果在前面C_data=textscan那一行里所设定的各列数据的性质不一样,例如前三列是整数(%d),后四列是%f(小数),
%则上句合并成矩阵时,最后四列数据将被取整。因此数据性质必须一致才行。
[rr,cc] = size(EURUSD)
EURUSD(1:10,:)
 
toc
 
 

%%读取表头
fid = fopen('D:\work\task\task_data\base_s_t.csv');%%nidnopen返回的文件标识符
%%%读取第一行
title = textscan(fid,'%s %s %s %s %s %s %s %s %s %s %s %s %s %s',1,'delimiter',','); %%%%%n——double %s——str%%%注意读取位置数据所在位置
fclose( fid );
%%读取数据
fid = fopen('D:\work\task\task_data\base_s_7.csv');%%nidnopen返回的文件标识符
base_d = textscan(fid,'%n %n %n %n %n %n %n %n %n %q %n %q %q %q','delimiter',',','HeaderLines',1);%%n——double %s——str
fclose(fid );

 
 

MATLAB——textscan的更多相关文章

  1. 【转】matlab的textscan与textread区别

    1.基本语法textscan的基本语法是:C = textscan(fid, 'format') C = textscan(fid, 'format', N) 其中fid为fopen命令返回的文件标识 ...

  2. matlab 中的textscan

    textread 与textscan的区别  textscan更适合读入大文件: textscan可以从文件的任何位置开始读入,而textread 只能从文件开头开始读入: textscan也可以从上 ...

  3. matlab各格式数据读取与保存函数

    数据处理及matlab的初学者,可能最一开始接触的就是数据的读取与保存: %matlab数据保存与读入 function datepro clear all; %产生随机数据 mat = rand(, ...

  4. MATLAB中提高fwrite和fprintf函数的I/O性能

    提高fwrite和fprintf函数的I/O性能 http://www.matlabsky.com/thread-34861-1-1.html     今天我们将讨论下著名的fwrite(fprint ...

  5. matlab中textread

    今天打算跑下程序,突然发现,真的很烂,不会读入数据,简单的Iris.txt一上午都没读进去,在此对matlab中的textread函数做下总结,textscan函数待续. 本文主要内容引自http:/ ...

  6. Matlab中的数据类型

    Matlab中有15种基本数据类型,主要是整型.浮点.逻辑.字符.日期和时间.结构数组.单元格数组以及函数句柄等.         1.整型:(int8:uint8:int16:uint16:int3 ...

  7. MATLAB importdata函数返回值类型

    importdata函数是MATLAB中I/O文件操作的一个重要函数.需要注意的是,针对不同的文件内容,importdata函数的返回值类型也有所不同. MATLAB帮助文档中的详细说明如下: Bas ...

  8. MATLAB cell 数组介绍

    转载:http://www.matlabsky.com/forum.php?mod=viewthread&tid=21089 由于工作需要,经常要处理大量的实验数据.基本都是由仪器导出来,随着 ...

  9. MATLAB介绍

    MATLAB MATLAB[1]  是美国MathWorks公司出品的商业数学软件,用于算法开发.数据可视化.数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink ...

随机推荐

  1. 关于 sql server 数据库权限乱七八糟的一些东西

    研究权限这些东西主要是因为今天正好在折腾数据库备份相关的东西,备份好说,备份完了就完了. 但是恢复备份的时候,需要先让数据库脱机,然后恢复,然后再联机,嗯,问题就出在联机上了. 根据 MSDN 的说法 ...

  2. 自动化运维工具SaltStack详细部署

    ==========================================================================================一.基础介绍==== ...

  3. centos 7 忘记密码

    修改rd.lvm.lv=cl/swap(我的是虚似机如果是实体机的话应该是ro_rd.lvm.lv=centos/swap)改成 rw init=/sysroot/bin/sh 注意上图rw init ...

  4. Redis高可用架构—Keepalive+VIP

    最近整理一下Redis高可用架构的文档,也准备分享出来,虽然这些架构也不是很复杂.Redis的高可用方案目前主要尝试过5种方式,其中2种方式已经在线上使用. 1)Redis Master-Slave ...

  5. 构造函数 (C++)

    构造函数是一种可初始化其类的实例的成员函数. 构造函数具有与类相同的名称,没有返回值. 构造函数可以具有任意数量的参数,类可以具有任意数量的重载构造函数. 构造函数可以具有任何可访问性(公共.受保护或 ...

  6. ubuntu 16.04 root 初始密码设置

    ()默认root密码是随机的,即每次开机都有一个新的root密码.我们可以在终端输命令 sudo passwd,然后输入当前用户的密码,enter ()终端会提示我们输入新的密码并确认,此时的密码就是 ...

  7. 每日英语:Singles Day in China

    Singles Day in China is the celebration -- or mourning -- of being unattached. Started by students i ...

  8. VS生成后事件对文件的copy以及更换扩展名

    在VC++2012的项目里,属性内有生成事件. 可以用后期生成事件命令行做一些生成之后的事情,比如对编译出的.dll,.lib,.pdb等文件进行copy或者更改扩展名. 我用到的就是将和项目同名的. ...

  9. input type= file 如何更改自定义的样式

    input { @include wh(24px,22px);//sass 宽高 @include pa(0,0); //绝对定位 top:0:left:0: opacity: 0; //透明度: o ...

  10. java中Class.getResource用法(用于配置文件的读取)

    https://www.cnblogs.com/keyi/p/6282838.html ******************************************** 用JAVA获取文件,听 ...