我有.csv文件,我无法在Octave上阅读。在R上我只使用下面的命令,一切都正常:
myData <- read.csv("myData.csv", stringsAsFactors = FALSE)
然而,当我去Octave时,使用以下命令没有正确执行:
myData = csvread('myData.csv',1,0);
当我用记事本打开文件时,数据如下所示。请注意,没有逗号将最后一个列名称(即Column3)与第一个值(即Value1)分开,并且第一行的最后一个值(即Value3)和第二行的第一个值发生相同的事情(即Value4)
Column1,Column2,Column3Value1,Value2,Value3Value4,Value5,Value6
Column1用于日期值(格式为yyyy-mm-dd hh:mm:ss),我不知道这是否与问题有关。
答案 0 :(得分:3)
亚历克斯的答案已经解释了为什么csvread
不适合你的情况。该函数只读取数字数据并返回一个数组。由于您的字段都是字符串,因此您需要将csv文件读入单元格数组。
该功能名为csv2cell
,是io package的一部分。
作为单独的注释,如果您计划对这些日期进行操作,您可能希望将这些日期转换为字符串,转换为序列日期编号。这将允许您将日期放在一个数字数组中,这将允许更快的操作和减少内存使用。此外,financial
包具有许多处理日期的功能。
答案 1 :(得分:1)
csvread
仅读取数字数据,因此不幸的是,日期不符合条件。
在Octave中,您可能需要查看dataframe包。在Matlab中,你会readtable
。
否则,您可以使用更多原始函数,例如textscan
。