【问题标题】:Multiple Text Files to a Single Output (Matlab)多个文本文件到单个输出(Matlab)
【发布时间】:2013-07-05 14:17:35
【问题描述】:

我是 Matlab 新手,我正在努力解决一个问题。我有 35 个文本文件,每个文件都有不同的名称,我想将所有这 35 个文本文件合并为一个。每个文件有 2 列和近 2000 行。

到目前为止,我唯一想到的是将文本文件读入 Matlab 使用

for i=1:length(files)

    eval(['load ' files(i).name ' -ascii']);

end

并使用手动制作矩阵

final = horzcat(AA2,AA3,AA4,MN2,MN4....) 

直到我到达最后一个。

有没有更简单的方法?将来我会使用超过 100 个文本文件,所以手动操作真的很耗时!

谢谢你:)

【问题讨论】:

  • 为什么要在 MATLAB 中这样做?
  • 因为当我这样做时,我可以使用神经网络工具训练数据。除了 Matlab 之外,我还有其他方法可以做到这一点吗?

标签: matlab


【解决方案1】:

您可以在 MATLAB 之外执行此操作:

如果你真的想坚持使用 MATLAB,

A = [];
for ii = 1:length(files)

    % load new contents
    newA = load(files(ii).name, '-ascii');

    % concatenate horizontally
    A = [A newA];  %#ok

end

% save final output
save('outputFile.txt', 'A')

【讨论】:

  • @Chrysovalando:请记住,您可以通过单击答案左侧的大勾号将我的答案标记为“已接受”。乐于助人!
  • 非常好,因为它完全避免了评估。如果您必须处理大量行数和 2 列的文件,您可以考虑预分配 A。从 A = zeros(numberOfRows,length(files)*2) 开始并像这样分配:A(:,2*ii-1:2*ii) = newA
猜你喜欢
  • 2019-11-30
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-18
相关资源
最近更新 更多