【问题标题】:Reading Date from CSV file in Octave从 Octave 中的 CSV 文件中读取日期
【发布时间】:2020-07-15 10:02:08
【问题描述】:

我想在 Octave 中读取一个 CSV 文件,它有一个日期列和 4 个整数列。我用过。

[num,txt,raw] = dlmread('Mitteilungen_data.csv');
ID = num(:,1) ;
DATE = datestr (date, yyyy-mm-dd) ;
FK_OBSERVERS= num(:,2) ;
GROUPS = num(:,3) ;
SUNSPOTS = num(:,4) ;
WOLF = num(:,5) ;
dn=datenum(DATE,'YYYY-MM-DD');
plot(dn,WOLF)

样本数据:

ID  DATE     FK_OBSERVERS GROUPS SUNSPOTS   WOLF

4939    1612-01-17  11  5   11  61
83855   1612-01-18  85  2   2   22
4940    1612-01-20  11  4   5   45
4941    1612-01-21  11  4   7   47
4942    1612-01-23  11  3   5   35
4943    1612-01-24  11  3   6   36
4944    1612-01-25  11  6   13  73
4945    1612-01-27  11  3   6   36
83856   1612-01-28  85  NULL    NULL    NULL
4946    1612-01-29  11  3   6   36
4947    1612-01-30  11  4   8   48
4948    1612-02-02  11  5   8   58
4949    1612-02-05  11  4   7   47
4950    1612-02-06  11  3   7   37
4951    1612-02-10  11  5   7   57
4952    1612-02-12  11  3   4   34
4953    1612-02-13  11  2   2   22
4954    1612-02-14  11  3   3   33

日期列显示错误:element number 2 undefined in return list。我该如何解决这个问题?

【问题讨论】:

  • 请阅读matlaboctave的标签说明。这些语言明确相同,因此仅在明确询问两者之间的差异或相似之处时才使用这两个标签。不要标记垃圾邮件。
  • @Shreya 您是否特别关心解决方案是否与 matlab 兼容?
  • 还请包含一个可用于调试脚本的 csv 文件的最小示例
  • @TasosPapastylianou 我不关心 matlab 兼容性。这是表格的简短摘录。docs.google.com/spreadsheets/d/…
  • @Shreya 文档受到保护,但无论如何链接到谷歌文档可能是矫枉过正。只需编辑您的问题并在其中复制一些有问题的行。

标签: csv octave


【解决方案1】:

你正在使用

[num, txt, raw] = dlmread( %...

但 dlmread 不返回三个输出。在控制台中输入 help dlmread 以查看语法。

做什么 似乎返回这三个参数的是xlsread 命令。也许您复制了使用 xlsread 的代码?

不过,即便如此,我还是会使用csv2cell。输入 csv2cell('data.csv')(其中 data.csv 是您的文件的名称)以查看它给出的输出类型

在您可以使用io 包中定义的任何命令之前,您需要将其加载到您的工作区。

pkg load io

【讨论】:

  • @Shreya btw,看看你的文件,它可能会给你带来问题,因为它是空格分隔的......你可以尝试使用 strsplit 进行后处理以删除空格。 ..但对您来说最简单的事情是手动预处理您的 csv 文件以转换为实际的“逗号分隔”格式(并删除空行)
  • “dataframe”包中的“dataframe”也适用于这种格式。
猜你喜欢
  • 2014-02-10
  • 1970-01-01
  • 1970-01-01
  • 2010-12-11
  • 1970-01-01
  • 2021-11-27
  • 2013-07-02
  • 2017-10-16
相关资源
最近更新 更多