#matlab #csv
#matlab #csv
Вопрос:
Я должен извлечь 1, 2 и 4-й столбцы из данного файла CSV и записать его в новый файл. Важно, чтобы новый файл содержал 1, 2 и 4-й столбцы из исходного файла в 1, 2, 3-й столбцы в новом файле.
Я знаю, что первым шагом было бы извлечь требуемые значения из массива:
CSVOutput = csvread(‘NumericData.csv’, startx, starty, [startx, starty, endx, endy])
затем я могу использовать csvwrite
, чтобы поместить это в новый файл.
Но проблема в том, что я не знаю endx, endy
. Я могу проверить это только вручную.
Итак, есть ли более элегантный способ?
Комментарии:
1. Какую версию MATLAB вы используете? Возможно, вы могли бы использовать
readtable
вместоcsvread
. Кроме того, последний ввод вcsvread
необязателен, я бы просто проигнорировал его и удалил первые строки импортированных данных, чтобы получить тот же эффект, что и при указанииstartx
,starty
.2. @Dev-iL моя версия r2014a
Ответ №1:
Вы можете использовать
t = readtable(file.csv);
как предложил разработчик. Возвращаемый объект представляет собой структуру, где каждое поле названо в честь столбца таблицы. С помощью
fieldnames(t);
вы получаете массив ячеек, содержащий имена столбцов.
Вы можете получить доступ к столбцу следующим образом:
t.('columnName')