gpt4 book ai didi

python - Pandas Parquet 不进入文件系统,但在变量中获取结果文件的内容

转载 作者:太空宇宙 更新时间:2023-11-04 00:04:28 24 4
gpt4 key购买 nike

有几种方法可以实现从 pandas 到 parquet 的转换。例如pyarrow.Table.from_pandas 或 dataframe.to_parquet 。它们的共同点是它们将 df.parquet 存储在其中的文件路径作为参数。

我需要将写入的 parquet 文件的内容放入一个变量中,但还没有看到这个。主要是我想要与 pandas.to_csv 相同的行为,如果没有提供路径,它会将结果作为字符串返回。

当然,我可以只编写文件,然后使用标准文件读取操作将其从 python 读取到字符串中。当我写入大量数据时,这会在文件系统上产生大量负载......。

最佳答案

您可以为此使用 io.BytesIO,或者 Apache Arrow 也提供其 native 实现 BufferOutputStream。这样做的好处是,无需通过 Python 的开销即可写入流。因此制作的副本更少,GIL 被释放。

import pyarrow as pa
import pyarrow.parquet as pq

df = some pandas.DataFrame
table = pa.Table.from_pandas(df)
buf = pa.BufferOutputStream()
pq.write_table(table, buf)
# buf now contains the Parquet file in memory.

关于python - Pandas Parquet 不进入文件系统,但在变量中获取结果文件的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54669196/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com