如何将多个文件读入单个单元格数组?

时间:2010-08-11 14:48:10

标签: matlab file-io cell-array textscan

我有一个大型数据集,分为5个文件(每个文件有15000个属性,第一个文件包含标题(属性名称)和9999个记录,另外4个包含10000个记录)。

使用textscan,我创建了5个必须合并的单元阵列,不知道这种方法是否合适,或者将所有5个文件直接读入单个单元阵列会更好。无论如何,如果你们中的任何人能够展示将几个单元阵列合并成单个单元阵列或者将几个文本文件读入单个单元阵列的话,我将感激不尽。

谢谢!

2 个答案:

答案 0 :(得分:2)

除非您想要做一些Java魔术,否则您无法直接将多个文件读入单个数组。

但是,一旦获得了单元格数组,就应该很容易将它们组合起来:假设每个单元格数组中的列数相同,可以将它们连接起来:

finalCell = [cell1;cell2;cell3;cell4;cell5];

答案 1 :(得分:0)

扩展Jonas的回答,如果关注内存,您可以在阅读文件时将它们组合起来,以避免使用5 x 15000 x 10000 + 1 15000 x 50000单元阵列。

finalCell = textscan(fid_1,'format');

finalCell = [finalCell; textscan(fid_2, '格式')];

finalCell = [finalCell; textscan(fid_3, '格式')];

finalCell = [finalCell; textscan(fid_4, '格式')];

finalCell = [finalCell; textscan(fid_5, '格式')];

最诚挚的问候,

亚当