从文本文件中提取数据。
34视图(30天)
显示旧的评论
我有几个文本文件获得测量设备。
文本文件包含
数字和文字
(前20行和最后20行文本和数字。)数据(2列),需要使用数据分析是在中间(7400行)。因为,文件数量和文本。我使用
数据= readtable (“001. txt”)% %文件名是001.三种
M =数据(21:7421,:)% M是一个表与XY数据图。
然而,数据导入字符(数字谎言引号内,为e。g ' 2130 ')。如何导入数据,只能提取数字吗?(我想让表只包含数值。2130年而不是“2130”等等)
还有其他有效的方法提取XY数据?最后,我希望能够读一些
. txt文件和情节XY数据。怎样才能使一个循环如果所有文件都用数字0(如。* 001 _newyork.txt
* 002 _dallas。txt *等等……)?
答案(3)
Takuya大谷
2016年9月7日
为了在每一列指定数据类型,在readtable函数中使用“格式”选项。
之后,你可以试着从readtable(复制文档页面)
T = readtable (‘myCsvTable.dat’,‘格式’,' % s % s % u % f % f % s ')
T =
姓性别年龄高度重量吸烟者
_____________________________________
“史密斯”“米”38 71 176' 1 '
“约翰逊”“米”43 69 163' 0 '
”威廉姆斯“F”38 64 131' 0 '
“琼斯”“F”40 67 133' 0 '
“棕色”“F”49 64 119' 0 '
至于阅读在多个文件在一个目录中,有一个简单的方法使用数据存储数据存储允许您指定文件名通配符。
2的评论
每•艾萨克森
2016年9月12日
编辑:每•艾萨克森
2016年9月14日
鉴于
- 只有数字数据文件的导入
- 第一列的值是上升的
- 数据文件头的前20行。
- 数据文件的名称从0开始,两个数字和下划线。
- 数据的扩展文件' . txt '
我已经下载了你的文件
001年_newyork.txt
来
h: \ \ cssm
并做了一份,我重命名
002年_dallas.txt
用Matlab有太多的方法,这些文件可以导入和策划。下面的脚本显示一个方法。(国际海事组织:
readtable
是有点大材小用了大纲的任务,你的问题)。
ffs =“m h: \ \ cssm”;
伤心= dir (fullfile (ffs“0 * . txt”));
cac = regexp ({sad.name},' ^ \ d {3} _。+ $ ',“匹配”);
伊势= cellfun (@isempty, cac);
cac = cac(不是(ise));
dat =细胞(1、长度(cac));
为jj = 1:长度(cac)
fid = fopen (fullfile (ffs cac {jj} {1}));
dat (jj) = textscan (fid检测器,“% % f”,“Headerlines”,20…
,“CollectOutput”,真正的);
文件关闭(fid);
结束
图
情节(dat {1} (: 1), dat {1} (:, 2))
图
情节(dat {2} (: 1), dat {2} (:, 2))
注意文本
# # # # #扩展信息
将优雅地停止textscan。医生说:
“…和停止当它不能匹配formatSpec数据。”
可能需要一些阅读的文档完全理解这个脚本。