首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python转换二进制文件(Labview .DAT文件)

使用Python转换二进制文件(Labview .DAT文件)
EN

Stack Overflow用户
提问于 2014-07-03 21:06:38
回答 2查看 4.4K关注 0票数 3

我在一个实验室工作,我们使用自定义的Labview获取电生理记录(横跨4个记录通道),它将获取的数据保存为.DAT (二进制)文件。然后,可以在更多的Labview中继续对这些文件进行分析,但是我想用Python分析我所有的录音。首先,我需要遍历我的所有文件并将它们从二进制文件中转换出来!

我尝试过numpy.fromfile (文件名),但我得出的数字对我来说毫无意义:

数组( 3.44316221e-282,1.58456331e+029,1.73060724e-077,.,4.15038967e+262,-1.56447362e-090,1.80454329e+070)

为了更进一步,我查找了.DAT头格式,以了解如何获取字节并转换它们--数据保存在多少字节中等:艾尔格明/

但我想不出该怎么做。当我在终端中输入"head文件名“时,下面是我看到的。

例如>> head 2014_04_10c1slice2_rest.DAT DTL? 0?@@?空数组PF?cƀ??l?n?“1‘.+?K13:13:27;0.00010000-08?t???N?t?x>?n?????t?x>?n???޾????tgD>?n??n?tgD?x ??N?t?x>?n???N?t??>?n ??N?tgD>?n???N?tgD>?n??n?N?tgD?d?n?t?޿~i?n?n?x??DY޿?

任何关于下一步该做什么的帮助或建议都将是非常感谢的。

谢谢。

附注:有一个旧的(坏的) matlab文件,似乎是为了转换这些文件。我认为这可能是有帮助的,但花了几天时间去理解它,我还是被困住了。http://www.mathworks.co.uk/matlabcentral/fileexchange/27195-load-labview-binary-data

EN

回答 2

Stack Overflow用户

发布于 2014-07-03 21:27:58

此链接的基础上,如下所示应该能做到这一点:

代码语言:javascript
复制
binaryFile = open('Measurement_4.bin', mode='rb')
(data.offset,) = struct.unpack('>d', binaryFile.read(8))

注意,对于二进制文件,mode设置为'rb'

使用numpy,您可以直接执行以下操作

代码语言:javascript
复制
data = numpy.fromfile('Measurement_4.bin', dtype='>d')

请注意,如果您只是使用Python作为中间程序,并且希望返回到LabVIEW中,那么您应该使用函数从二进制file.vi读取来使用本机LabVIEW读取二进制文件。

票数 1
EN

Stack Overflow用户

发布于 2014-07-06 06:49:32

DAT是一个相当通用的后缀,不一定指向特定的格式。如果我的理解是正确的,那么该帮助部分是针对DIAdem的,它可能与您从LV保存数据的方式完全无关。

您需要的是这个帮助部分,它告诉您LV是如何将数据存储在磁盘- 数据/上的。

您需要查看LV代码,以确切地了解您正在保存的数据类型以及写文件函数是如何配置的(字节顺序、大小预置等)。然后使用该文档将其转换为实际表示。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24563303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档