[英]Write pandas dataframe as compressed CSV directly to Amazon s3 bucket?
[英]with python, is there a way to load a polars dataframe directly into an s3 bucket as parquet
尋找這樣的東西:
api 顯示這些 arguments: https://pola-rs.github.io/polars/py-polars/html/reference/api/polars.DataFrame.write_parquet.html
但我不確定如何將 df 轉換為 stream...
未經測試,因為我沒有 AWS 賬戶
您可以像這樣使用s3fs.S3File
:
import polars as pl
import s3fs
fs = s3fs.S3FileSystem(anon=True) # picks up default credentials
df = pl.DataFrame(
{
"foo": [1, 2, 3, 4, 5],
"bar": [6, 7, 8, 9, 10],
"ham": ["a", "b", "c", "d", "e"],
}
)
with fs.open('my-bucket/dataframe-dump.parquet', mode='wb') as f:
df.write_parquet(f)
基本上s3fs
給你一個符合fsspec
的文件 object,polars 知道如何使用它,因為write_parquet
接受任何常規文件或流。
如果您想更精細地管理您的 S3 連接,您可以從botocore
連接構造為S3File
object(請參閱上面鏈接的文檔)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.