2014-04-25 29 views
1

我有一个看起来像这样在记事本++查找任意分隔文本文件的格式在MATLAB

formatting example

我可以很容易地看到空间(即橙色点),和选项卡(为一个文件橙色箭头)。我也可以在MATLAB中右键单击它并以各种方式导入它。问题首先是分隔符不一致。它似乎去TAB然后一些空格,以确保总字段等于6个字符...

我理解阅读文件的唯一方法是如果你已经知道它是如何分隔的。但在这种情况下,我想解析各行,以便MATLAB有一些什么去的地方如“令牌”:(?记事本+ +似乎知道就好了这么肯定MATLAB可以得到这个信息太)

Line1: Text Space Text Space Text Tab Space Space Text NEWLINE

这可能吗?那么使用这些信息将导入的数据保存到具有完全相同格式的文件中将会很好。

数据如下。 由于某些原因,将其复制到记事本++不会保留其分隔,因此您需要自行添加标签,使其看起来像截图中的文件。

Average Counts :  56.2 
Time   :  120 

感谢

+0

您目前使用哪些函数将文件导入MATLAB? – Lisa

+0

只需使用右键单击并导入数据。我得到的最接近的是使用分隔符作为Tab,Space。然后我为每个角色获取数组。但我无法区分标签和空间。我认为我所追求的东西就像''平均''空间''计数'空间'':''\ tab'.. etc'。我希望我所问的是有道理的。 –

回答

0

如果使用textscan,默认的行为也许应该满足您的需求:

在每一行数据,默认的字段分隔符是空白。空格可以是空格(''),退格('\ b')或制表符('\ t')的任意组合。如果您未指定分隔符,则textscan会将重复的空格字符解释为单个分隔符。

输出是一个单元格数组,其中每列都保存为一个单元格。所以C{1}将包含字符串,C{2}的冒号和C{2}的值。

+0

这是关于我得到的。所有'textscan'示例都使用已知的formatSpec。我想要逐行生成formatSpec。谢谢 –

+0

啊,那么你想用相同的分隔符来编写文件吗?对不起,我误解了。请问为什么要这么做?你想在哪里查看生成的文件? – Lisa

+0

是的,我想知道所有的空格和制表符是在哪里逐行排列的。我正在使用一些古老的科学仪器,并努力弄清楚他们如何输出文件的韵律或原因。谢谢 –

相关问题