在readtable指令中从8列读取6列

时间:2016-06-30 12:13:39

标签: matlab

我有一个包含8列的.txt文件。带\ t的列已拆开。我想阅读只有6列的可读指令。请帮我。谢谢。

以下说明阅读所有列表。请为我更正此说明:

Table = readtable('D:\DataIntable.txt','Delimiter','\t','ReadVariableNames',true);

数据有5百万行,因此,读取后删除列将是毫无意义的时间消耗

2 个答案:

答案 0 :(得分:0)

如果您可以将数据保存为.xls文件而不是.txt文件,则可以使用xlsread来指定调用中数据的范围。

[data,txt] = xlsread('filename',sheet,xlRange)

您必须知道电子表格中数据的单元格索引(即A1:C500将是导入数据的500x3矩阵),但它允许您指定仅导入所需的列。 txt输出会将列标题导入为字符串,因为您似乎也希望与数据关联的名称。

答案 1 :(得分:0)

转换为* .xls的开销很愚蠢。如果您阅读readtable的文档,则会看到it supports textscan - 样式format specifiers。这允许您使用*忽略字段。

使用asdf.txt

column1 column2 column3
a   b   c
d   e   f

T = readtable('asdf.txt', 'ReadVariableNames', true, 'Delimiter', '\t', 'Format', '%s%s%*s');

我们获得:

T = 

    column1    column2
    _______    _______

    'a'        'b'    
    'd'        'e'