为什么dosn< ocave文本可以跳过标题?

时间:2015-06-08 10:44:41

标签: octave textscan

我在Windows上使用Octave 4.0.0,并且在从互联网上下载的文本数据上使用textscan时遇到问题。这些数据在互联网上具有以下格式:

quote_date;paper;exch;open;high;low;close;volume;value 20150605;OTS;Oslo Børs;5.88;5.88;5.88;5.88;5000;29400 20150604;OTS;Oslo Børs;5.50;5.50;5.50;5.50;3728;20504 20150603;OTS;Oslo Børs;5.69;5.70;5.69;5.70;1000;5694 20150601;OTS;Oslo Børs;5.40;5.73;5.30;5.73;4575;24633 20150529;OTS;Oslo Børs;5.40;5.40;5.39;5.40;20197;109033

我不太了解原始数据集中的行尾charachter是什么,但当我将它们复制并粘贴到记事本+'行尾字符是CR,LF。

下面我使用urlread将网址a中的数据读入字符串x

a = 'http://www.netfonds.no/quotes/paperhistory.php?paper=OTS.OSE&csv_format=sdv';
x = urlread(a);

然后我想使用textscan将字符串x转换为带有标题字符串的向量和每个标题字符串的数据向量。

转换为带有标题字符串的向量顺利 h = textscan(x,['%s %s %s %s %s %s %s %s %s'],1,'delimiter',';');

这会产生一个包含九个标题文本字符串的单元格数组,如我所愿。但是,当尝试使用以下代码读取其余数据(跳过第一个标题行)时:

y = textscan(x,'%d %s %s %f %f %f %f %d %d','headerlines',1,'delimiter',';');

我从Octave得到这个警告:

>> y = textscan(x,'%d %s %s %f %f %f %f %d %d','headerlines',1,'delimiter',';');
warning: textscan: 'headerlines' ignored when reading from strings
warning: called from
textscan at line 181 column 7
warning: strread: unknown property 'headerlines'

因此textscan无法理解headerlines。无论我是写headerlinesHeaderlines还是HeaderLines

,这都适用

为什么不textscan了解属性headerlines,甚至认为此属性是在textscan帮助菜单中定义的?

0 个答案:

没有答案