Matlab тексты могут отформатировать ошибку формата pecpec
При чтении большого CSV-файла Matlab не распознает ||,|| в качестве правильного разделителя в качестве входного аргумента для текстов может. Данные следующие (упрощенные):
||X||,||Y||,||Z|| (header)
||1||,||2||,||4||
||4||,||4||,||3||
и т.п.
я использую data = textscan(fileID,formatSpec,'Delimiter',',');
читать данные с некоторыми спецификациями формата '%f %f %f'
,
Моим решением для резиновой ленты было использовать редактор 010, чтобы заменить все '||' с '', что делает его подходящим CSV-файлом для Matlab, но из-за размера документа (6M строк с приблизительно 35 полями) и частоты появления новых документов это вряд ли является хорошим решением.
Кто-нибудь знает правильный способ импортировать такой файл?
1 ответ
Вы должны иметь возможность включить его в спецификатор формата:
data = textscan(fid, '||%f||,||%f||,||%f||', 'headerlines', 1)
а затем просто пропустите разделитель.
Редактировать (по комментариям)
Если вы пытаетесь читать в строках, хитрость заключается в том, чтобы заставить его читать в строках без |
персонаж. Это сделано с помощью %[^|]
, как это:
data = textscan(fid, '|| %[^|] ||,|| %[^|] ||,|| %[^|] ||', 'headerlines', 1)