【发布时间】:2016-02-26 10:20:49
【问题描述】:
我在 Octave 中工作,从 CSV 文件(大约 10^6 行)导入数据。每行有三列 - 时间戳(一整天的小数部分)、信号 1 和信号 2。时间戳是双精度值,我需要将其导入。
经过大量实验后,我终于提取出双(浮点)格式的值。我使用了以下代码:
Output = textscan(FileID,'%s %f %f','Delimiter',',')
这个调用给出了一个 cell 类的变量,它是 1x3(注意 - 不是我预期的 3x10^6)。
查看变量,我看到了:
Output =
{
[1,1] =
{
[1,1] = 0.85857643518518500000
[2,1] = 0.85857648148148100000
[3,1] = 0.85857652777777800000
[4,1] = 0.85857657407407400000
[5,1] = 0.85857662037037000000
[6,1] = 0.85857665509259300000
[7,1] = 0.85857670138888900000
[8,1] = 0.85857674768518500000
[9,1] = 0.85857679398148200000
[10,1] = 0.85857684027777800000
[11,1] = 0.85857688657407400000
[12,1] = 0.85857693287037000000
[13,1] = 0.85857697916666700000
[14,1] = 0.85857702546296300000
[15,1] = 0.85857707175925900000
[16,1] = 0.85857711805555600000
[17,1] = 0.85857715277777800000
[18,1] = 0.85857719907407400000
-- less -- (f)orward, (b)ack, (q)uit
注意它在最后被切断了,但那里有更多数据,包括 1x3 数组中的其他项目(即信号 1 和信号 2)。
现在 - 如何从 Output 到 MyData 应该有 3 列和一百万行的光荣数据?也许我以不同的方式导入文件?我知道我不能使用dlmread 或csvread,因为它们不会让我输入双精度数字(除非你知道方法)。我试过textread,但没有运气(它告诉我我有一堆NaN)。
【问题讨论】:
-
output{1}带给你什么?
标签: arrays matlab csv import octave