我是Python的新手,正在尝试读取部分包含二进制数据的文件。在标头二进制数据之后,有一个标头,其中包含有关数据的一些信息。如果在文本编辑器中打开文件,则它看起来像这样:
>>> Begin of header <<<
value1: 5
value2: 7
...
value65: 9
>>> End of header <<<
���ÄI›C¿���†¨¨v@���ÄW]c¿��� U⁄z@���@¬P\¿����∂:q@���@Ò˚U¿���†÷Us@���`ªw4¿��� :‘m@���@À›9@���ÄAs@���¿‹ ¿����ır@���¿@&%@���†„bq@����*˙-@��� [q@����ÚN8@����
Òo@���@√·T@���†‰zm@����9\@����ÃÜq@����€dZ@���`Ëäs@���†∏8I@���¿¬Ot@���†�6
另一个问题是,我不是自己创建文件的,也不是现在创建的文件,如果它们是double或float数据。
那么我该如何解释这些数据呢?
首先,感谢所有人的帮助:所以基本上,问题是标题。当我从文件中删除标头时,我可以很好地读入数据。这可以用
x = numpy.fromfile(f,dtype = numpy.complex128,count = -1)
很容易 问题是我无法找到跳过文件文件的功能fromfile的任何选项(一个文件可以跳过字节,但是文件头的大小可能因文件而异。
在这个很棒的线程中,我找到了如何将二进制数组转换为numpy数组的方法:
这样,我可以通过读取数据文件行中的行,然后将结尾标头行之后的每一行合并到一个字符串中来解决该问题。然后,该字符串完全按照我的需要更改为一个不错的数组。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句