将 Julia DataFrame 转换为字节数组以进行压缩

问题描述 投票:0回答:1

所以我从 csv 加载了两个数据集,然后使用

leftjoin
:

合并它们
using CSV
using DataFrames
using CodecZstd

df1 = CSV.read(joinpath(root, "data", "raw", "df1.csv"), DataFrame)
df2 = CSV.read(joinpath(root, "data", "raw", "df2.csv"), DataFrame)

merged = leftjoin(df1, df2, on=:id)

现在我想将合并的数据帧作为

.zst
压缩文件(Zstandard 压缩)写入磁盘。

我成功地首先写入

.csv
,然后读取然后再次写入
.zst
,但是有没有办法直接将
DataFrame
转换为字节数组以便能够保存到磁盘?

julia dataframes.jl
1个回答
0
投票

有多种选择。 Julia 内置的功能是序列化数据帧。您可以通过使用

Serialialization
标准库来实现这一点。它提供了两个函数
serialize
用于流的序列化和
deserialize
用于流的反序列化。然后您可以使用CodecZstd.jl压缩序列化流并将其保存到磁盘。

请注意,当您使用序列化时,您有责任确保写入数据和读取数据的 Julia 会话之间的 Julia 和包版本保持一致。

© www.soinside.com 2019 - 2024. All rights reserved.