【问题标题】:Importing .csv data to matrix将 .csv 数据导入矩阵
【发布时间】:2015-01-20 11:50:17
【问题描述】:

我有一个带有以下“配置”的.csv 文件

'string', 'string', 'string', 'string', 'string'
'string', 'string', 21, 89, 67
'string', 'string', 45, 12, -16
'string', 'string', 78, 56, 45
'string', 'string', 23, 65, 90
'string', 'string', 43, 34, 75

我想忽略前两列和第一行,并将数字导入矩阵。

我尝试过使用textscan,但没有运气。有专家吗? :-)

【问题讨论】:

    标签: matlab csv matrix textscan


    【解决方案1】:

    试试dlmread。您可以指定开始导入的行和列。

    data = dlmread('test.txt',',',1,2)
    
    data =
    
        21    89    67
        45    12   -16
        78    56    45
        23    65    90
        43    34    75
    

    【讨论】:

    • 这看起来比importdata简单
    • 谢谢。但是,您的可能更灵活。
    【解决方案2】:

    使用importdata:

    x = importdata('filename.csv');
    

    这给出了一个带有datatextdata 字段的x 结构:

    >> x
    x = 
            data: [5x3 double]
        textdata: {6x5 cell}
    

    要仅获取数值,请使用

    x_numeric = x.data;
    

    在你的例子中,这给出了

    x_numeric =
        21    89    67
        45    12   -16
        78    56    45
        23    65    90
        43    34    75
    

    【讨论】: