我正在读取数据文件(*.txt)。此数据文件的一行将包括19列(每一行用制表符或空格分隔)。然而,输出文件的特定结构将每一行数据“包裹”为只包括15列,接下来的4行进入新行。在一定数量的行之后,结构更改为6列。我添加以下屏幕截图(请注意,不是从共享的测试文件,但这是相同的结构)为方便解释,但所附的数据文件应该解释的事情进一步。
可以看到,第1~7556行有19列(一行15列,下一行4列,换行),第7557~ 7556行有6列,这两种结构在数据文件中重复,Here是样本测试文件的pastebin链接。
我尝试了下面的代码,但没有成功。
fid = fopen('test.txt');
C = cell2mat(textscan(fid, '%f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f'));
fclose(fid);
我如何读取数据,并可能获得包含两种不同数据结构的两个单独的读数(或数据集)?
1条答案
按热度按时间wh6knrhe1#
因为你有连续的分隔符,而且分隔符在一些行的开头,所以使用Matlab的csv/text读取函数不是很简单。但是阅读整个文件,然后根据缺失值的数量决定一行/一行属于哪个数据集,是有效的。请参见注解以获得解释。