Matlab批量读取一个文件夹里的txt文件

现在有一个文件夹里面有50个左右的txt文件每个文件大概三万行两列第一列是字符串第二列是浮点数字我只需要读第二列现在我想写一个.M文件批量读取这个文件夹里的txt文件读取... 现在有一个文件夹 里面有50个左右的txt文件 每个文件大概三万行 两列 第一列是字符串 第二列是浮点数字

我只需要读第二列

现在我想写一个.M文件 批量读取这个文件夹里的txt文件 读取完以后的数组变量名就是txt的文件名

现在问题:
1 MATLAB如何遍历一个文件夹里的所有函数
2 如果按照文件名创建一个变量?
展开
 我来答
大宝妈谈教育
高粉答主

2020-04-20 · 关注我不会让你失望
知道小有建树答主
回答量:3306
采纳率:100%
帮助的人:49万
展开全部

Matlab批量读取一个文件夹里的txt文件的方法。

如下参考:

1.首先,在这里举例制作一个txtde文本文件,如下面页面的内容。

2.将文本文件放入matlab的工作路径中,方便读取操作。例如,如果我的文本文件在桌面上,我可以将matlab的工作路径更改为桌面。具体方法是点击matlab的省略号后的当前工作路径,弹出选项选择文件夹,然后选择相应的路径。

3.接下来,我们使用importdata函数来读取文件。例如,我想读取一个名为data的文本文件,我可以在命令窗口中输入:data=IMPORTDATA('data.txt')。

4.结果表明,数据是一个结构化数组。在这一点上,我们可以看看结构的每个部分代表什么。如下图所示,第一个数组表示文本文件的数量,第二个和第三个数组表示文本文件中的汉字。此时,每个人都可以根据需要引用适当的数组。

5.除了上述功能,您还可以使用tex胎面函数来读取。使用该特性时,可以使用[a,b,c,d]=tex胎面('data')来指定输出的每个部分的格式。txt','%2s%。3f%。3f%.3f”)。

文本中的第二个引号表示输出的格式。例如,%2s表示第一列的输出格式是单元格数组%。3f表示输出数字保留三位小数。

greatdju
推荐于2017-10-02 · TA获得超过2.2万个赞
知道大有可为答主
回答量:2486
采纳率:50%
帮助的人:4145万
展开全部
比如说在E:\new下有一系列txt文件,文件名符合matlab变量名的命名规则,并且没有temp.txt文件,每个文件有两列,以空格分割,第一列是字符串,第二列是浮点数字,要读取第二列的浮点数字为数组并以文件名为变量名。

file=dir('E:\new\*.txt');
for n=1:length(file)
temp=dlmread(['E:\new\',file(n).name],' ',0,1);
eval([file(n).name(1:end-4),'=temp;'])
end
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
创旧黄
2010-08-11 · TA获得超过1269个赞
知道小有建树答主
回答量:213
采纳率:0%
帮助的人:415万
展开全部
1.Matlab使用dir函数获得指定文件夹下的所有子文件夹和文件,并存放在在一种为文件结构体数组中.

dir函数可以有调用方式
dir('.') 列出当前目录下所有子文件夹和文件
dir('G:\Matlab') 列出指定目录下所有子文件夹和文件
dir('*.m') 列出当前目录下符合正则表达式的文件夹和文件

得到的为结构体数组每个元素都是如下形式的结构体
name -- filename
date -- modification date
bytes -- number of bytes allocated to the file
isdir -- 1 if name is a directory and 0 if not
datenum -- modification date as a MATLAB serial date number
分别为文件名,修改日期,大小,是否为目录,Matlab特定的修改日期

可以提取出文件名以作读取和保存用.

2.我想不到什么好方法,一般也就是使用一个统一的临时变量来读取文件数据,比如tmp,然后用一个字符串变量保存的变量名,比如str='a1'
要实现a1=tmp这样的语句,可以采用如下语句
str_a1=[str,'=tmp'];
eval(str_a1);
这样a1这个变量便出现在workspace中

但是问题是你并不知道那个变量名字叫a1啊?或者说我还找不到利用字符串值对变量寻址的方法,只能使用与上述过程相反的过程将值导入到一个知道名字的变量中,如tmp.

有兴趣的话可以探讨一下.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风飞小叶
2010-08-11 · TA获得超过185个赞
知道答主
回答量:158
采纳率:0%
帮助的人:149万
展开全部
我试了一下1楼的回答。
读取某个文件夹下面的所有txt文档后,发现可以生成一个(比如叫a)结构数组。这个a的内容和1楼描述的一样。
可惜我还是不能读某个txt文档的数据。不知道具体怎么弄?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式