2010-07-13 91 views
2

我的客户正在发送National Instruments Diadem中捕获的TDM/TDX文件,这是我没有收到的。我正在寻找一种方法来将文件转换为.CSV,XLS或.MAT文件,以便在Matlab中进行分析(不使用Diadem或Diadem DLL!)从脚本中读取TDM(Diadem)文件

该格式包含一个结构良好的XML文件(.TDM)和一个二进制文件(.TDX),.TDM定义字段如何打包为二进制TDX中的位。我想阅读这些文件(用于Matlab和其他环境)。有没有人在例如Python或Perl(不使用NI DLL)或直接在Matlab中使用通用工具或转换脚本?

我已经研究过购买这个工具,但是除了一次性转换为兼容的文件格式之外,并不喜欢它。

谢谢!

+0

您是否要求客户以更容易阅读的格式向您发送相同的文件?我不使用Diadem,但如果它是像LabView那样的话,那么它将有许多选项可以为其他系统导出数据,这可能是您最好的选择。否则,你可能不得不编写你自己的Matlab来读取二进制数据,而不是非常困难但乏味和棘手。 – 2010-07-13 10:12:11

回答

5

我知道这是有点晚了,但我有一个简单的库在Python阅读TDM/TDX文件。它通过解析TDM文件来确定数据类型,然后使用NumPy.memmap打开TDX文件。它可以像标准的NumPy数组一样使用。代码非常简单,所以你可能可以在Matlab中实现类似的东西。

这里的链接:https://bitbucket.org/joshayers/tdm_loader

希望有所帮助。

2

也许有点晚了,但我认为有一个简单的方法可以从TDM文件中获取数据:NI提供了用于将TDM文件读入Excel和OpenOffice Calc的插件。在其中一个程序中有数据可以使用CSV导出。在谷歌搜索“tdm excel”或“tdm openoffice”。

希望这有助于... Gemue

+0

谢谢,这有助于解决我的问题。现在我不需要问同事将tdm文件转换为csv ......... – Adriaan 2011-02-02 09:50:35

+0

我需要将其中一堆转换为csv。有没有办法做到这一点数以百计的文件没有通过点击死亡腕隧道? – EngrStudent 2017-11-05 02:37:51