【问题标题】:Space efficient file type to store double precision floats节省空间的文件类型,用于存储双精度浮点数
【发布时间】:2017-11-23 16:51:33
【问题描述】:

我目前正在运行用 C 编写的模拟,稍后使用 Python 脚本分析结果。 ATM C 程序正在将结果(大量双精度值)写入一个文本文件,该文件缓慢但肯定会占用大量磁盘空间。

是否有一种文件格式可以更节省空间来存储大量数值? 充其量但不一定满足以下要求

  1. 值可以连续添加,因此并非所有值都必须一次在内存中。

  2. 该文件或多或少易于使用 Python 读取。

我觉得这应该是一个非常常见的问题,但在寻找答案时,我只找到了 C 中各种数据类型的描述。

【问题讨论】:

  • 原始二进制文件。每个双精度都是固定的 8 字节长度。
  • file format,所有文件都是二进制文件。文件格式并不重要。
  • 不知何故,我的印象是,在使用二进制文件时,我需要提前知道要写入的值的数量。但是现在我想起来了,我不明白为什么我会有这样的印象。

标签: python c numerical-methods


【解决方案1】:

二进制文件,但请注意您保存的数据格式。如果可能,请减小您正在使用的每个变量的宽度。例如,您是否需要保存十进制或浮点数,或者您可以只保存 16 位或 32 位整数? 此外,是的,您可以在保存之前应用一些压缩方案来压缩数据,并在读取后对其进行解压缩,但这需要更多的工作,而且对于您正在做的事情来说,这可能是一种矫枉过正。

【讨论】:

    猜你喜欢
    • 2016-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-20
    • 2011-10-24
    • 1970-01-01
    • 2018-02-23
    • 2018-07-06
    相关资源
    最近更新 更多