PythonのDataframeをCSVでAzure Blob Storageに出力する方法

おはようございます。PythonとAzure絡みの小ネタですが、備忘メモです。

やりたいこと

PythonのDataframeをCSVでAzure Blob Storageに出力したい。

実現方法

Blob Storageへの接続には、Microsoft提供の公式ライブラリがあるので、それを利用する必要があります。

Anacondaを利用している場合はこちらからインストールしておきます。

https://anaconda.org/conda-forge/azure-storage-blob

その上でコードは以下。

from azure.storage.blob import BlobServiceClient

output = df.to_csv(index=False,columns=df.columns,encoding="utf-8")

## BlobにUploadする方法
## overwriteオプションは用途に合わせて
connection_string='xxxx'
blobClient = BlobServiceClient.from_connection_string(connection_string)
containerClient = blobClient.get_container_client('コンテナ名')
blobClient = containerClient.get_blob_client("ファイル名.csv")
blobClient.upload_blob(output, blob_type="BlockBlob",overwrite=True)

公式ドキュメントだと以下に書いてある模様。

https://docs.microsoft.com/ja-jp/azure/storage/blobs/storage-quickstart-blobs-python?tabs=environment-variable-windows

実行サンプル:

結果:

参考になりましたら幸いです。ちなみに、CSVに出力したデータはAzure SQL DatabaseにBULK INSERTをかけることもできますので、そちらの方法は以下で解説しています。(その場合は直接Python->SQL Databaseでもいい気がしますが)

おしまい

この記事を気に入っていただけたらシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。

ABOUT US
Yuu113
初めまして。ゆうたろうと申します。 兵庫県出身、東京でシステムエンジニアをしております。現在は主にデータ分析、機械学習を活用してビジネスモデリングに取り組んでいます。 日々学んだことや経験したことを整理していきたいと思い、ブログを始めました。旅行、カメラ、IT技術、江戸文化が大好きですので、これらについても記事にしていきたいと思っています。