【Python】Python 〜 s3fsライブラリ 〜

◾️はじめに

https://dk521123.hatenablog.com/entry/2025/06/07/230713

の調査の一環として、
Pythonでs3上のPandasファイルをダウンロードせずに参照する方法を
Github Copilotに聞いたところ、「s3fs」を教えてくれたので
メモってみた

目次

【1】s3fsライブラリ
【2】インストール
【3】サンプル
 例1:CSV
 例2:Parquet

【1】s3fsライブラリ

* Amazon S3 バケットを ファイルシステムのように扱うための Python ライブラリ

https://github.com/s3fs-fuse/s3fs-fuse?tab=readme-ov-file

【2】インストール

pip install s3fs

補足:その他の環境でのインストール

* pip 以外のインストールについては、以下の公式サイトを参照。

https://github.com/s3fs-fuse/s3fs-fuse?tab=readme-ov-file#installation

【3】サンプル

例1:CSV

import pandas as pd

df = pd.read_csv(
  's3://your-bucket-name/path/to/your/file.csv',
  storage_options={
    'key': 'YOUR_AWS_ACCESS_KEY_ID',
    'secret': 'YOUR_AWS_SECRET_ACCESS_KEY',
  }
)

print("**************")
print(df)
print("**************")
print(df.info())

print("Done")

例2:Parquet

import pandas as pd

# ★ここ変えただけ★
df = read_parquet(
  's3://your-bucket-name/path/to/your/file.parquet',
  storage_options={
    'key': 'YOUR_AWS_ACCESS_KEY_ID',
    'secret': 'YOUR_AWS_SECRET_ACCESS_KEY',
  }
)

print("**************")
print(df)
print("**************")
print(df.info())

print("Done")

関連記事

Python ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2014/08/07/231242
Python ~ 基本編 / 文字列 ~
https://dk521123.hatenablog.com/entry/2019/10/12/075251
Python ~ Parquet ~
https://dk521123.hatenablog.com/entry/2021/11/13/095519
Pandas ~ Parquet ~
https://dk521123.hatenablog.com/entry/2024/09/06/004125
エラー「Invalid UTF8 detected while decoding 'XXX'」表示
https://dk521123.hatenablog.com/entry/2025/06/07/230713
Parquet ファイル
https://dk521123.hatenablog.com/entry/2020/06/03/000000