При написании своего кода я понял, что первые 3 строки из таблицы, которую я недавно записал в файл .txt, отсутствуют. Я создал таблицу в файле кода Matlab и хотел использовать ее в другом файле кода Matlab, поэтому я использовал writetable (). Затем я использовал readtable () в другом файле кода.
После просмотра всех строк кода, в которых я внес любые изменения в таблицу, я пришел к выводу, что моя проблема была вызвана непосредственно функцией readtable (). , Затем я написал совершенно отдельный тестовый код, чтобы проверить правильность моего подозрения.
Вот мой тестовый код:
a = {"30.03.20","20:36","20.5.44.45";"30.03.20","20:36","text";"30.03.20","20:36","text";"30.03.20","20:36","03/30/20"};
a = cell2table(a)
writetable(a)
opts = detectImportOptions("a.txt");
opts = setvartype(opts,'a1','string');
opts = setvartype(opts,'a2','string');
opts = setvartype(opts,'a3','string');
readtable('a.txt',opts)
С этим тестовым кодом я увидел, что вывод линии readtable('a.txt')
действительно не хватало нескольких строк. Я добавлю скриншот с выводами ниже.
Теперь я сузил проблему. Я просто не знаю, как ее решить.
Самая странная часть всего этого заключается в том, что в моих исходных двух кодах у меня есть еще две таблицы, которые пишутся и затем читаются, и они, похоже, не испытывают этого проблема.
В настоящее время я работаю с опциями в объекте deteImportOptions, чтобы посмотреть, смогу ли я решить проблему. Однако, если кто-то испытал это и / или знает, что вызывает функцию readtable (), чтобы пропустить первые три строки моей таблицы, это действительно помогло бы мне.
Это выходные данные как исходной таблицы, так и таблицы, созданной функцией readtable ()