gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 17:40:50 27 4
gpt4 key购买 nike

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

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

array([ 3.44316221e-282, 1.58456331e+029, 1.73060724e-077, ..., 4.15038967e+262, -1.56447362e-090, 1.80454329e+070])

为了进一步尝试,我查阅了 .DAT header 格式以了解如何获取字节并转换它们 - 数据保存在多少字节等中: http://zone.ni.com/reference/en-XX/help/370859J-01/header/header/headerallghd_allgemein/

但我不知道该怎么办。当我在终端中输入“head filename”时,下面是我看到的。

e.g. >> head 2014_04_10c1slice2_rest.DAT

DTL? 0???? @@???? empty array PF?c ƀ????l?N?"1'.+?K13:13:27;0.00010000-08??t?޾??DY ??N?t?x???D? ?uv?tgD?~I?? ??N?t?x>?n?? ????t?x>?n?? ????t?޾??D? ????t?x???D? ????t?x?~I?? ????tgD>?n?? ??N?tgD???D? ??N?t?x???D? ????t????DY ??N?t?x>?n?? ??N?t????DY ?Kn$?t?????DY ??N?t??>?n?? ??N?tgD>?n?? ????t?x?~I?? ????tgD>?n?? ??N?tgD>?n?? ??N?tgD???DY ????t?x???D? ????t???~I?? ??N?tgD???DY ??N?tgD???D? ??N?t?޿~I?? ??N?t?x???DY ??N?tF>?n?? ??N?t?x??%Y

任何关于下一步做什么的帮助或建议都将不胜感激。

谢谢。

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

最佳答案

基于 this link看起来下面应该可以解决问题:

binaryFile = open('Measurement_4.bin', mode='rb')
(data.offset,) = struct.unpack('>d', binaryFile.read(8))

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

使用 numpy 你可以直接这样做

data = numpy.fromfile('Measurement_4.bin', dtype='>d')

请注意,如果您只是将 Python 用作中间件并希望将数据返回到 LabVIEW,则应改为使用函数 Read from Binary file.vi使用原生 LabVIEW 读取二进制文件。

关于python - 使用 Python 转换二进制文件(Labview .DAT 文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24563303/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com