我对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另一个问题是,我没有自己创建文件,如果这些是双数据或浮动数据,现在就不创建了。
那么,我如何解释这些数据呢?
发布于 2015-07-10 11:59:11
首先,感谢大家的帮助:基本上问题是标题。当我从文件中删除标题时,我可以很好地读取数据退出。这件事可以用
X= numpy.fromfile(f,dtype = numpy.complex128,count = -1)
很容易。问题是,我无法找到跳过行的函数from的任何选项(可以跳过字节,但标题大小可能因文件不同而不同。
在这个伟大的线程中,我找到了如何将二进制数组转换为numpy数组:
convert binary string to numpy array
有了这一点,我可以通过读取数据文件行中的一行来解决这个问题,然后将结束头行后的每一行合并为一个字符串。然后,这个字符串被转换成一个很好的数组,就像我想要的那样。
https://stackoverflow.com/questions/31319876
复制相似问题