我有一个包含 25,000 个浮点数(,
分隔)的文件,并且大约有 100K 个这样的行。文件的一行看起来像:
1689.97,-9643.39,-82082.1,9776.09,-33974.84,-67247.38,32997.34,72811.53,31642.87,-949.6,9340.68,-85854.48,-17705.36,187.74,-3002.6,-35812.21,37382.32,22770.78,40893.09,45743.99,-6500.92,26243.85,13975.95,0,56669.47,-25865.36,-17066.78,26788.57,0,-36554.86,-3687.19,18933.93
我有一个两部分的问题。
- 有没有办法(在 Java 或 Python 中)有效地压缩数据而不会影响性能。压缩将每天进行一次,但必须经常读取数据。
- 是否可以以压缩形式操作数据,例如我想在前 10 行上聚合前 10 列而不进行解压缩。这样我就不必担心频繁读取压缩数据。挑战之一是将 25,000 个字符串转换为浮点数以供添加。
我看过,gzip
它们zcat
是不错的选择。但我想找到一些压缩或序列化算法来存储数据Java/Python
并在不解压缩的情况下执行读取。