おはようございます。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)
公式ドキュメントだと以下に書いてある模様。
実行サンプル:
結果:
参考になりましたら幸いです。ちなみに、CSVに出力したデータはAzure SQL DatabaseにBULK INSERTをかけることもできますので、そちらの方法は以下で解説しています。(その場合は直接Python->SQL Databaseでもいい気がしますが)
おしまい
コメントを残す