Теперь, когда строковый массив - вещь, существующая после R2016b, есть ли встроенная функция, которая экспортирует строковый массив в файл CSV и наоборот?
Функция, которая выполняет прежнюю роль csvread
и csvwrite
для числовых массивов в старые времена, но для строковых массивов. И чтобы ослабить требование, скажем, массив строк содержит столбцы чистых строк и столбцы чистых двойников. В качестве примера можно привести цены на акции со строками отметок времени.
Native = не зацикливается на fprintf
. Но если вы уверены, что Matlab еще не включил такие функции, не стесняйтесь отвечать наилучшим образом, без каких-либо ограничений.
Без какой-либо встроенной функции, предшествующей R2013a, цикл с fprintf
- единственный способ, о котором я могу думать. И это было ужасно. Учитывая прошлую репутацию неэффективности, я все еще не верю, что циклы в Matlab.
После R2016b можно преобразовать строковый массив в массив ячеек с помощью num2cell
, а затем в таблицу с cell2table
. Таблица может быть записана в CSV-файл с writetable
. На самом деле это быстро, как writetable
быстро. Только num2cell
немного замедляет весь процесс. Однако форматирование невозможно по пути.
Post-R2019a, cell2table
можно пропустить с помощью writecell
, что хорошо, но трудоемкий (слегка) шаг равен num2cell
, и форматирование все еще невозможно. (У меня нет R2019a, чтобы проверить это.)
Есть ли лучший способ или это еще одна из тех базовых вещей, которые оставляют желать лучшего в Matlab?