MATLAB - 从目录读取文件?

2024-05-27

我希望从目录中读取文件并对每个文件迭代执行操作。此操作不需要更改文件。

我知道我应该为此使用 for 循环。到目前为止我已经尝试过:

FILES = ls('path\to\folder');

for i = 1:size(FILES, 1);
    STRU = pdbread(FILES{i});
end

这里返回的错误向我这个新手表明,使用 ls() 列出目录不会将内容分配给数据结构。

其次,我尝试创建一个文件,其中每行包含文件路径,例如,

C:\Documents and Settings\My Documents\MATLAB\asd.pdb
C:\Documents and Settings\My Documents\MATLAB\asd.pdb

然后我使用以下代码读取该文件:

fid = fopen('paths_to_files.txt');
FILES = textscan(fid, '%s');
FILES = FILES{1};
fclose(fid);

此代码读取文件,但在路径中存在空格的地方创建换行符,即

'C:\Documents'
'and'
'Setting\My'
'Documents\MATLAB\asd.pdb'

最终,我打算使用 for 循环

for i = 1:size(FILES, 1)
    PDB = pdbread(char(FILES{i}));

读取每个文件,但 pdbread() 会抛出错误,声明该文件格式不正确或不存在。

这是由于读入路径文件时路径的换行符分隔造成的吗?

非常感谢任何帮助或建议。

谢谢, 小号:-)


首先获取符合您条件的所有文件的列表:
( 在这种情况下pdb文件在C:\我的文档\MATLAB )

matfiles = dir(fullfile('C:', 'My Documents', 'MATLAB', '*.pdb'))

然后读入一个文件,如下:
( Here i可以从 1 到文件数不等)

data = load(matfiles(i).name)

重复此操作,直到读完所有文件。


A 更简单的替代方案如果可以的话重命名你的文件如下:-

首先保存需求。文件为 1.pdb、2.pdb、3.pdb...等。

那么Matlab中迭代读取它们的代码如下:

for i = 1:n
    str = strcat('C:\My Documents\MATLAB', int2str(i),'.pdb'); 
    data = load(matfiles(i).name);

% use our logic here  
% before proceeding to the next file

end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MATLAB - 从目录读取文件? 的相关文章

  • Java-使用InputStream作为文件

    我正在尝试使用上传的 docx 文件生成 PDF 文档JOD转换器 http www artofsolving com opensource jodconverter 对生成 PDF 的方法的调用如下所示 File inputFile ne
  • Directory.CreateDirectory 延迟问题?

    我正在尝试创建一个远程目录 然后向其中写入一个文件 每隔一段时间 应用程序就会在尝试写入文件时失败并出现 System IO DirectoryNotFoundException 当我写入文件时 我使用返回的 DirectoryInfo 对
  • 使用 TcpClient 通过 C# 通过 TCP 发送多个文件

    我正在尝试使用 C TcpClient 通过 TCP 发送多个文件 对于单个文件来说它效果很好 但是当我有多个文件时 它只发送第一个文件 这是我的代码 发送文件 try TcpClient tcpClient new TcpClient N
  • Java IO 文件前缀字符串太短 - 但事实并非如此

    尝试从一个目录创建简单的 tar gz 文件 有我的代码 File destinationFile new File var www swOfflineFeeds Companies 2 File sourceFile new File v
  • C - sscanf 不忽略空格

    我正在读取文本文件并使用逗号作为分隔符 下面的行确实有效 但是当我打印出 lname 时 它 不会忽略逗号后面的空格并在名称之前打印空格 如何调整代码以忽略空格 文本示例 罗布 史密斯 4 12 岁 某某史蒂夫 琼斯 41 286 某个文本
  • 在 x86 汇编语言中获取文件大小的简单方法

    假设我已经在汇编中打开了一个文件 并且在寄存器 eax 中有该文件的文件句柄 我将如何获取文件的大小 以便为其分配足够的缓冲区空间 我在这里研究了另一个讨论 建议使用sys fstat 28 系统调用来获取文件统计信息但无法实现它 My a
  • 理解高斯混合模型的概念

    我试图通过阅读在线资源来理解 GMM 我已经使用 K 均值实现了聚类 并且正在了解 GMM 与 K 均值的比较 以下是我的理解 如有错误请指出 GMM 类似于 KNN 在这两种情况下都实现了聚类 但在 GMM 中 每个簇都有自己独立的均值和
  • 通过 Matlab 访问 Physionet 的 ptbdb 中的数据库

    我首先设置系统 old path which rdsamp if isempty old path rmpath old path 1 end 8 end wfdb url http physionet org physiotools ma
  • 如何在放置颜色条后保持子图大小不变

    假设我们有一个 1 2 子图 我们在其中绘制了一些图形 如下所示 subplot 1 2 1 surf peaks 20 subplot 1 2 2 surf peaks 20 然后我们要添加一个颜色条 colorbar 我不希望结果中的正
  • 保存录制的 AVAudioRecorder 声音文件:现在怎么办? (iOS、Xcode 4)

    在我的应用程序中 我希望用户能够录制一个声音文件并播放它 然后保存该声音文件以供以后使用 我用了本教程 http www techotopia com index php Recording Audio on an iPhone with
  • C# 写入文件的性能

    我的情况概述 我的任务是从文件中读取字符串 并将它们重新格式化为更有用的格式 重新格式化输入后 我必须将其写入输出文件 这是必须完成的操作的示例 文件行示例 ANO 2010 CPF 17834368168 YEARS 2010 2009
  • SVN 提交前撤消删除

    如果您从 SVN 工作副本中删除了一个目录 但尚未提交 则如何将其恢复并不明显 当您输入 svn undo d 时 Google 甚至建议将 svn undo delete before commit 作为常见查询 但搜索结果没有任何帮助
  • 如何在 matlab 中创建由多个 3d 图像数据数组组成的数组

    我正在阅读 15 张图片imagedata imread imagename jpg 它的大小总是320 by 320 by 3 如何将数据放入数组中 使用 for for 循环 以便在访问新数组的第一个元素时获得输入的第一个图像的 RGB
  • 拒绝访问特定目录中的特定文件类型

    对于某些应用程序 用户可以上传自己的文件 由于这可能是非常大的文件 因此他们可以通过自己的 FTP 客户端上传这些文件 当然 我不希望他们上传一些可以访问服务器上所有其他文件的 PHP 文件 我想要防止这种行为的方法之一是拒绝仅访问这些文件
  • 了解 fminunc 参数和匿名函数、函数处理程序

    请多多包涵 问题在最后 我试图找出 fminunc 调用方式的差异 这个问题源于 Andrew Ng 在他的 Coursera 机器学习课程中的第 3 周材料 我正在回答这个问题 Matlab Andrew Ng 机器学习课程中 t cos
  • 从开始/结束索引列表创建向量化数组

    我有一个两列矩阵M包含一堆间隔的开始 结束索引 startInd EndInd 1 3 6 10 12 12 15 16 如何生成所有区间索引的向量 v 1 2 3 6 7 8 9 10 12 15 16 我正在使用循环执行上述操作 但我想
  • 用于列出文件夹但排除特定文件夹的批处理脚本

    我希望此脚本列出文件夹名称中包含 deleted 的所有文件夹 但如果它们位于名为 done 的文件夹中则不列出 例如 列出文件夹 如果位于 C temp如果它在C temp random folder name但如果它在C temp do
  • 从数据库和文件系统中删除文件

    我有一个表引用我们网络上共享位置中的文件 将文件路径存储在数据库中 我有一个按钮需要从数据库中删除记录并从文件系统中删除文件 foreach var report in reports string filePath report Repo
  • 给定协方差矩阵,在Matlab中生成高斯随机变量

    Given a M x M期望的协方差 R 以及所需数量的样本向量 N计算一个N x M高斯随机向量 X在普通 MATLAB 中 即不能使用r mvnrnd MU SIGMA cases 不太确定如何解决这个问题 通常你需要一个协方差并且意
  • 检测数据集中线性行为的算法

    我已经发布了一个关于对数据集的一部分进行多项式拟合的算法 https stackoverflow com q 17595932 2320757前一段时间收到一些建议去做我想做的事 但我现在面临另一个问题 我尝试应用答案中建议的想法 我的目标

随机推荐