在 Octave 中读取 CSV 时出现问题

Vic*_*tor 4 csv matlab octave

我有一个 .csv 文件,但无法在 Octave 上读取它。在 RI 上,只需使用以下命令,一切都会正常读取:

myData <- read.csv("myData.csv", stringsAsFactors = FALSE)
Run Code Online (Sandbox Code Playgroud)

但是,当我转到 Octave 时,它​​无法使用以下命令正确执行:

myData = csvread('myData.csv',1,0);
Run Code Online (Sandbox Code Playgroud)

当我用记事本打开该文件时,数据如下所示。请注意,最后一个列名称(即 Column3)与第一个值(即 Value1)之间没有逗号分隔,并且第一行的最后一个值(即 Value3)和第二行的第一个值(即即值4)

Column1,Column2,Column3Value1,Value2,Value3Value4,Value5,Value6
Run Code Online (Sandbox Code Playgroud)

Column1 用于日期值(格式为 yyyy-mm-dd hh:mm:ss),我不知道这是否与问题有关。

car*_*aug 5

亚历克斯的答案已经解释了为什么csvread不适合你的情况。该函数仅读取数字数据并返回一个数组。由于您的字段都是字符串,因此您需要将 csv 文件读取到元胞数组中的东西。

该函数已命名csv2cell并且是io 包的一部分。

作为单独的注释,如果您计划对这些日期进行操作,您可能需要将这些日期作为字符串转换为序列日期数字。这将允许您将日期放入数字数组中,从而实现更快的操作并减少内存使用量。此外,该financial包还有许多处理日期的函数。