Возможно, вам нужна функция xlsread .
Открывает любой файл, распознаваемый Excel, и автоматически отделяет текстовые данные от числовых данных.
Проблема заключается в том, что по умолчанию для моего компьютера, по крайней мере, используется разделитель ; , а не , (по крайней мере для моего языка здесь, в Бразилии).Поэтому xlsread попытается разделить поля в файле с помощью ; , а не запятой, как вам хотелось бы.
Чтобы изменить это, вам нужно изменить системные языковые настройки, чтобы добавитьзапятая как разделитель списка.Поэтому, если вам это нравится, для этого в Windows Vista нажмите «Пуск», «Панель управления», «Региональные и языковые параметры», настройте этот формат и измените разделитель списка с «;».к ','.В других окнах процесс должен быть почти таким же.
После этого, набрав:
[num, txt, all] = xlsread('your_file.csv');
вернет что-то вроде:
num =
10
300
txt =
'01/01/2012' ' 00020.x1'
'02/01/2012' ' 00203.x1'
all =
'01/01/2012' ' 00020.x1' [ 10]
'02/01/2012' ' 00203.x1' [300]
Обратите внимание, что если вашlocale уже имеет разделитель списка, установленный на ',', вам не нужно ничего менять в вашей системе, чтобы это работало.
Если вы не хотите менять свою систему просто для использования xlsread , тогда вы можете использовать функцию textcan , описанную здесь: http://www.mathworks.com/help/techdoc/ref/textscan.html
Проблема в том, что это не так просто, как вызвать ее, так как вам придетсяоткройте файл, выполните итерации по строкам и скажите matlab явно формат вашего файла.
С уважением