我是Python的新手,我正在尝试读取部分包含二进制数据的文件。有一个标题包含有关数据的一些信息,之后是标题二进制数据。如果在texteditor中打开文件,它看起来像这样:
>>> 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数据,那么现在不要。
那么我该如何解释这些数据?
答案 0 :(得分:0)
首先,感谢大家的帮助:基本上问题就是标题。当我从文件中删除标题时,我可以很好地读取数据。这可以通过
完成x = numpy.fromfile(f,dtype = numpy.complex128,count = -1)
很容易。问题是我找不到跳过行的函数fromfile的任何选项(可以跳过字节,但标题大小可能因文件不同而不同。在这个伟大的主题中,我发现了如何将二进制数组转换为numpy数组:
convert binary string to numpy array
有了这个,我可以通过读取数据文件行中的行来解决问题,然后将结束标题行之后的每一行合并在一个字符串中。 然后,这个字符串就像我想要的那样变成了一个很好的数组。