从文本文件中提取数据。

34视图(30天)
尼尔
尼尔 2016年9月6日
评论道: d·阿里2019年4月28日
我有几个文本文件获得测量设备。
文本文件包含 数字和文字 (前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 *等等……)?
2的评论
尼尔
尼尔 2016年9月7日
文件与我的问题

登录置评。

答案(3)

Takuya大谷
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的评论
Takuya大谷
Takuya大谷 2016年9月12日
嗨,尼尔,
我已经创建了一个小脚本附加。请您看一看。有可能更优雅的方式来做到这一点。我追求文件逐行删除不必要的元素,和写一个新文件。无论如何,我已经验证了这个在001年样本_newyork工作。txt文件,试试在你的其他文件。由于Takuya

登录置评。


每•艾萨克森
每•艾萨克森 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数据。”
可能需要一些阅读的文档完全理解这个脚本。

d·阿里
d·阿里 2019年4月27日
我也有类似的问题,我需要extarct MCAP separat文件中随着时间的推移他们发生,如果一切阴谋
我附上的文件
4评论
d·阿里
d·阿里 2019年4月28日
是的,我刚刚看到那个方法我将跟进谢谢

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!