pandas - 使用 Pandas 将 csv 转换为 Parquet 文件时出错

标签 pandas parquet

我想将 csv 作为 Parquet 文件上传到 S3 存储桶。下面是代码片段。

df = pd.read_csv('right_csv.csv')
csv_buffer = BytesIO()
df.to_parquet(csv_buffer, compression='gzip', engine='fastparquet')
csv_buffer.seek(0)

上面给我一个错误:TypeError: expected str, bytes or os.PathLike object, not _io.BytesIO 如何让它发挥作用?

最佳答案

根据 documentation ,当使用fastparquet作为引擎时,不能使用io.BytesIO。必须使用 autopyarrow 引擎。引用文档。

The engine fastparquet does not accept file-like objects.

下面的代码没有任何问题。

import io
f = io.BytesIO()
df.to_parquet(f, compression='gzip', engine='pyarrow')
f.seek(0)

关于pandas - 使用 Pandas 将 csv 转换为 Parquet 文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70860399/

相关文章:

python - Pandas - 计算每列的不同值

python - fillna(0) 对面的 Pandas

python - 索引 - 使用 Pandas 匹配

parquet - 在单个多核机器上索引大型 dask 数据帧时的内存使用情况

amazon-web-services - parquet 文件存储在 AWS S3 中时可以拆分吗?

python - Pandas 和 GeoPandas 索引和切片

mysql - 如何添加缺少数据组合的行并用 0 估算相应字段

hadoop - 没有 Hadoop 的 Parquet ?

hadoop - 是否可以直接从文件加载 Parquet 表?

pandas - dask 读取 Parquet 并指定架构