You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python通过Blob SAS令牌/URL读取Azure存储CSV文件为DataFrame

读取Azure Blob存储CSV文件为DataFrame的Python实现

前置依赖

首先安装所需工具包:

pip install pandas azure-storage-blob

场景1:已有完整Blob SAS URL

SAS URL已内置权限校验信息,可直接通过Pandas读取:

import pandas as pd

# 替换为你的CSV文件对应的Blob SAS URL
blob_sas_url = "https://<存储账户名>.blob.core.windows.net/<容器名>/<文件路径>.csv?<SAS参数串>"

df = pd.read_csv(blob_sas_url)

场景2:仅持有单独SAS令牌与Blob路径

使用Azure Blob SDK构造访问客户端,读取文件到内存后转DataFrame:

import pandas as pd
from io import BytesIO
from azure.storage.blob import BlobClient

# 替换为你的实际配置
storage_account = "你的存储账户名称"
container_name = "目标存储容器名称"
csv_blob_path = "csv文件在容器内的完整路径,例如data/2024/xxx.csv"
sas_token = "你的Blob SAS令牌(无需带开头的?符号)"

# 初始化Blob访问客户端
blob_client = BlobClient(
    account_url=f"https://{storage_account}.blob.core.windows.net/",
    container_name=container_name,
    blob_name=csv_blob_path,
    credential=sas_token
)

# 下载文件并转DataFrame
with BytesIO() as stream:
    blob_client.download_blob().readinto(stream)
    stream.seek(0)
    df = pd.read_csv(stream)

注意事项

  • SAS令牌需要提前配置Blob的读取权限,且在有效期内,否则会触发权限报错
  • 如果CSV文件包含中文,可在pd.read_csv中增加encoding='utf-8'或encoding='gbk'参数指定编码格式
  • 大文件读取可增加chunksize参数开启分块加载,避免内存溢出

内容的提问来源于stack exchange,提问作者user16628047

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 11:57:02