Octave中读取CSV文件时遇到的问题

4

我有一个.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),我不知道这是否与问题有关。

csvread只能读取数值数据。作为一名R用户,我感同身受。 - Alex
2个回答

5
Alex已经解释了为什么csvread不适用于你的情况。该函数只能读取数字数据并返回一个数组。由于你的字段都是字符串,所以你需要使用一些东西将csv文件读入到一个单元数组中。
这个函数被命名为csv2cell,它是io package的一部分。
另外,如果你计划对这些日期进行操作,你可能希望将这些日期作为字符串转换为序列日期数。这将允许你将日期放入一个数字数组中,从而实现更快的操作和减少内存使用。此外,financial包中有许多处理日期的功能。

1
csvread 只能读取数值数据,所以日期不符合条件。
在 Octave 中,您可以查看 dataframe 包。在 Matlab 中,您可以使用 readtable
否则,您也可以使用更原始的函数,比如 textscan

谢谢提供信息,我差点被这个问题搞疯了...! - Victor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接