читаемый текстовый файл игнорирует первую строку, которая содержит имена столбцов - PullRequest
0 голосов
/ 11 октября 2018

У меня есть текстовый файл с разделителями табуляции, который содержит некоторые данные, организованные в столбцы с первой строкой, действующей как имена столбцов, такие как:

TN Stim Task RT
1   A    A    500.2
2   B    A    569
3   C    A    654

и т. Д.

Я пытаюсьчтобы прочитать этот текстовый файл в MATLAB (r2018a), используя readtable с

Data1 = readtable(filename);

Мне удается получить все данные в таблице Data1, но имена столбцов отображаются как Var1, Var2 и т. д.Если я использую пары «Имя-Значение» для указания чтения первой строки как имен столбцов, как в:

Data1 = readtable(filename, 'ReadVariableNames', true);

, тогда я получаю имена столбцов в качестве первой строки данных, то есть

1  A  A  500.2

Такпохоже, он полностью игнорирует первый ряд.Как я могу изменить вызов readtable, чтобы использовать записи в первой строке в качестве имен столбцов?

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

Я понял это.Похоже, в некоторых строках после последнего столбца была дополнительная вкладка.Из-за этого readtable считывал его как дополнительный столбец, но ему не было присвоено имя столбца.Кажется, что если какое-либо из имен столбцов отсутствует, он называет их все как Var1, Var2 и т. Д.

0 голосов
/ 11 октября 2018

Исходя из того, как текст вашего образца файла отформатирован выше, создается впечатление, что метки столбцов разделены пробелами, а не табуляторами, как данные.В этом случае readtable предполагает (на основе данных), что разделитель является вкладкой, и обрабатывает метки столбца как строку заголовка , чтобы пропустить ,Добавьте вкладки между ними, и вам будет хорошо.

Тест с пробелами между метками столбцов:

% File contents:
TN Stim Task RT
1   A   A   500.2
2   B   A   569
3   C   A   654

>> Data1 = readtable('sample_table.txt')

Data1 = 

    Var1    Var2    Var3    Var4   % Default names
    ____    ____    ____    _____

    1       'A'     'A'     500.2
    2       'B'     'A'       569
    3       'C'     'A'       654

Тест с вкладками между метками столбцов:

% File contents:
TN  Stim    Task    RT
1   A   A   500.2
2   B   A   569
3   C   A   654

>> Data1 = readtable('sample_table.txt')

Data1 = 

    TN    Stim    Task     RT  
    __    ____    ____    _____

    1     'A'     'A'     500.2
    2     'B'     'A'       569
    3     'C'     'A'       654
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...