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

发布于 2024-09-13 11:58:17 字数 241 浏览 14 评论 0原文

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

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

谢谢你!

I have a large dataset split into 5 files (each has 15000 attributes, first file contains header (attribute names) and 9999 records, and the other 4 contain 10000 records).

Using textscan, I have created 5 cell arrays which have to be merged and don't know whether this approach is appropriate or it would be better to directly read all 5 files into single cell array. Anyway I would be thankful if anyone of you could show the way to merge several cell arrays into single cell array or read several text files into single cell array.

Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

泅渡 2024-09-20 11:58:17

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

但是,一旦获得元胞数组,就应该很容易组合它们:假设每个元胞数组中有相同数量的列,您可以像这样连接它们:

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

Unless you want to do some Java magic, you cannot read multiple files into a single array directly.

However, once you have obtained the cell arrays, it should be easy to combine them: Assuming that there are the same number of columns in each cell array, you can concatenate them like this:

finalCell = [cell1;cell2;cell3;cell4;cell5];
时光沙漏 2024-09-20 11:58:17

扩展乔纳斯的答案,如果内存是一个问题,您可以在阅读文件时将它们组合起来,以避免拥有 5 x 15000 x 10000 + 1 15000 x 50000 单元阵列。

FinalCell = textscan(fid_1,'格式');

最终细胞 = [最终细胞; textscan(fid_2,'格式')];

最终细胞 = [最终细胞; textscan(fid_3,'格式')];

最终细胞 = [最终细胞; textscan(fid_4,'格式')];

最终细胞 = [最终细胞; textscan(fid_5,'格式')];

最好的问候,

亚当

Expanding on Jonas' answer, If memory is a concern, you could combine them as you read the files to avoid having 5 x 15000 x 10000 + 1 15000 x 50000 cell arrays.

finalCell = textscan(fid_1,'format');

finalCell = [finalCell; textscan(fid_2,'format')];

finalCell = [finalCell; textscan(fid_3,'format')];

finalCell = [finalCell; textscan(fid_4,'format')];

finalCell = [finalCell; textscan(fid_5,'format')];

Best Regards,

Adam

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文