繁体   English   中英

用C ++保存数据,从Python加载-推荐的数据格式

[英]Save Data in C++, Load from Python - Recommended Data Formats

我有一个ROS / CPP模拟器,可以将大量数据保存到rosbag中(大约90 MB)。 我想经常从Python读取此数据,并且由于读取rosbags既缓慢又麻烦,所以我目前有另一个python脚本可以读取rosbag并将相关内容保存到HDF5文件中。

能够直接从模拟器中保存数据(在C ++中),然后从我的脚本中读取数据(在Python中),这将是很好。 所以我想知道应该使用哪种数据格式。 它应该是:

  1. 从Python快速加载
  2. 紧凑(最好是某种二进制文件)
  3. 易于使用

您可能想知道为什么我不仅仅从我的C ++模拟器中保存到HDF5,但这似乎并不容易。 诸如Stackoverflow之类的论坛上基本上没有任何内容,并且HDF5 Group网站不透明,似乎有一些复杂的许可和非常差的示例。 我只想让我今天下午开始跑步时又快又脏的东西。

您可能想看看HDFql,因为它是管理HDF5文件的高级语言(类似于SQL)。 HDFql除其他外还支持C ++和Python。 有一些例子,说明如何在这些语言使用HDFql 这里

我看到了两种对您的问题有用的解决方案:

  • LV :长度值,可以直接以二进制形式存储到文件中。
  • JSON :添加的数据不会超出您的需要,并且Python或C ++中有许多库可以简化您的工作

协议缓冲区是C ++和Python中语言绑定的一个选项,尽管它可能比今天下午运行快速/肮脏的时间花费更多。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM