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

Python无需下载读取Azure Blob Storage JSON文件存入Pandas咨询

解决方案

你不需要把文件下载到本地磁盘,直接通过Azure SDK提供的download_blob()方法将Blob内容读取到内存流中即可直接解析,完全不会生成本地文件。

前置依赖

确保你已经安装了必要的依赖包:

  • azure-storage-blob
  • pandas

完整实现代码

import json
import pandas as pd
from azure.storage.blob import ContainerClient

# 初始化容器客户端,替换为你自己的连接串和容器名
container = ContainerClient.from_connection_string("<my connection str>", "<MyContainer>")
blob_list = container.list_blobs()
# 提前创建列表存储所有解析后的JSON数据,后续一次性转DataFrame效率更高
json_data_list = []

for blob in blob_list:
    # 过滤只处理名为knowledge.json的文件,跳过其他无关文件
    if not blob.name.endswith("knowledge.json"):
        continue
    # 获取Blob客户端
    blob_client = container.get_blob_client(blob)
    # 直接将Blob内容下载到内存,不会写入本地磁盘
    blob_content = blob_client.download_blob().readall()
    # 解析字节内容为JSON
    json_data = json.loads(blob_content.decode("utf-8"))
    # 将解析后的JSON加入列表
    json_data_list.append(json_data)

# 所有数据读取完成后一次性转为DataFrame
df = pd.DataFrame(json_data_list)

之前报错的原因说明

  • 方案1报错原因:blob.name是Blob在容器中的路径字符串(格式为UUID文件夹名/knowledge.json),并不是JSON文件的实际内容,直接传给json.loads自然会解析失败
  • 方案2报错原因:open()方法只会读取Python运行环境的本地文件系统路径,不可能直接读取云上的Blob存储路径,所以会报文件不存在

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 05:06:08