【问题标题】:Read csv with headers into a data structure in Octave将带有标题的 csv 读入 Octave 中的数据结构
【发布时间】:2020-11-28 14:44:21
【问题描述】:

我的意思是将带有一行标题的数据文件读入数据结构ds,其csv标题为fieldnames(ds)。 所以对于下面的示例文件,我可以使用ds.xds.('x'),例如

但是使用

ds = importdata(ds_fname, delimiterIn = ',', headerlinesIn = 1);

我得到了

> fieldnames(ds)
ans =
{
  [1,1] = data
  [2,1] = textdata
  [3,1] = colheaders
}

> ds.colheaders
ans =
{
  [1,1] = x
  [1,2] = y1
  [1,3] = y2
}

> ds.data
ans =

      <mydata>

如何将 csv 直接读取到数据结构中? 我设法将 csv 读入一个元胞数组,然后创建数据结构,但我的意思是避免中间步骤。


样本数据文件

x,y1,y2
0.1,1.0,1.0e-1
4.,21.0,1.0e1
6,-1,1.0e+1

【问题讨论】:

    标签: csv data-structures file-io octave cell-array


    【解决方案1】:
    pkg load io
    C = csv2cell('data.csv');
    S = cell2struct( C(2:end,:).', C(1,:) );
    

    【讨论】:

    • 没有直接 csv 到 strcutrue?这是我目前正在使用的(在 OP 中提到,即使命令没有明确列出)。
    • 我不知道,但没有什么能阻止你把它包装成一个函数
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-11
    • 1970-01-01
    • 2018-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多