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

如何使用Python读取Azure Blob中的docx文件?解决乱码问题

解决Azure Blob中DOCX文件读取乱码问题

问题原因

DOCX不是纯文本格式,本质是ZIP压缩的二进制文件,直接用utf-8解码二进制内容必然出现不可读字符;而TXT是纯文本格式,所以你的代码处理TXT正常。

解决方案

需要先获取文件的二进制内容,再用专门的DOCX解析库提取文本,推荐使用python-docx库。

步骤1:安装依赖库

pip install python-docx

步骤2:修改代码读取DOCX内容

from docx import Document
from io import BytesIO
from azure.storage.blob import BlobServiceClient

# 初始化Blob服务客户端
blob_service_client_instance = BlobServiceClient(account_url=STORAGEACCOUNTURL, credential=STORAGEACCOUNTKEY)
blob_client_instance = blob_service_client_instance.get_blob_client(container_name, blob_name, snapshot=None)

# 下载二进制内容到BytesIO对象
blob_download = blob_client_instance.download_blob()
blob_content = blob_download.readall()
docx_file = BytesIO(blob_content)

# 解析DOCX并提取文本
doc = Document(docx_file)
full_text = []
for para in doc.paragraphs:
    full_text.append(para.text)
docx_content = '\n'.join(full_text)

print(docx_content)

说明

  • BytesIO用来将二进制内容模拟成文件对象,满足python-docx的读取要求
  • 通过遍历文档段落提取文本,可完整获取DOCX中的纯文本内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 19:45:46