我有一个bin文件,它被编码在一个应用程序中,我需要访问它并转换成csv文件。我已经得到了文档,但不确定如何在Python中访问这个文件的内容。在
下面是关于如何序列化数据集的一些详细信息
datasets.bin is a list of DataSet classes serialized using Qt's QDataStream serialization using version QDataStream::Qt_4_7.
The format of the datasets.bin file is:
quint32 Magic Number 0x46474247
quint32 Version 1
quint32 DataSet Marker 0x44415441
qint32 # of DataSets n
DataSet DataSet 1
DataSet DataSet 2
.
.
.
.
DataSet DataSet n
The format of each DataSet is:
quint32 Magic Number 0x53455455
QString Name
quint32 Flags Bit field (Set Table)
QString Id [Optional]
QColor Color [Optional]
qint32 Units [Optional]
QStringList Creator Ids [Optional]
bool Hidden [Optional]
QList<double> Thresholds [Optional]
QString Source [Optional]
qint32 Role [Optional]
QVector<QPointF> data points
Qti在文档中找不到具体的例子。任何能帮我指明方向的人都会很好
Pyqt不能以C++的方式读取所有数据,因为它不能处理模板类(如{{CD1>}和^ {CD2>}),这将需要Python中不可用的语言特定支持。这意味着必须使用变通方法。幸运的是,datastream format非常简单,所以读取任意模板类可以简化为一个简单的算法:读取长度为
uint32
,然后迭代一个range
,并将包含的元素逐个读入list
:下面的脚本演示如何正确读取整个数据集格式:
^{pr2}$相关问题 更多 >
编程相关推荐