【问题标题】:How to load a csv file as a datamatrix in matlab?如何在 matlab 中将 csv 文件加载为数据矩阵?
【发布时间】:2019-07-10 10:57:53
【问题描述】:

我尝试在 matlab 中加载一个 csv 文件,以将某个列用作 OLS 估计的向量。但是,我的 csv 看起来像:

    Date            KCFSI
13  2004-02-01  -0.67
14  2004-03-01  -0.58
15  2004-04-01  -0.57
16  2004-05-01  -0.49
17  2004-06-01  -0.67
...

我希望将KCFSI 列作为向量。

我试过了:

x=fopen('kcfsi.csv');

kcfsi=x(:,2);

但我什至没有得到我的 x 的矩阵。无论出于何种原因,只要获得价值:“14”。我想要像“2x100”这样的东西

【问题讨论】:

    标签: matlab csv


    【解决方案1】:

    csvread 无法打开包含documentation 中所述的非数字值的 csv 文件。

    文件必须只包含数值。

    因此,您应该使用textscan,如本答案所述:https://stackoverflow.com/a/19613301/11756186

    您也可以使用readtable 内置函数

    csvtable = readtable('kcfsi.csv');
    kcfsi_array = csvtable.KCFSI; %Column vector with the content of the KCFSI column
    

    【讨论】:

      【解决方案2】:

      fopen 返回一个文件 ID,而不是一个矩阵。 请改用A = readmatrix(filename)M = csvread(filename)

      【讨论】:

      • @Dennis 未定义函数什么
      • @Dennis,函数是csvread 而不是readcsv“不幸的是”名字不通勤。 :)
      • @qwertz,您可能希望指定 csvread 应从第一行开始以忽略标题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-23
      • 1970-01-01
      • 1970-01-01
      • 2015-10-18
      • 1970-01-01
      • 2021-09-13
      • 1970-01-01
      相关资源
      最近更新 更多