如何通过Python将DataFrame以CSV格式写入仅持Blob SAS URL的Azure存储容器
注意:使用的Blob SAS URL必须提前配置了对应容器/目标Blob的写入权限,否则会返回403权限错误。
完整实现代码
from azure.storage.blob import BlobClient import pandas as pd from io import BytesIO # 替换为你的目标Blob SAS URL sas_url = "<your_blob_sas_url>" blob_client = BlobClient.from_blob_url(sas_url) # 替换为你需要写入的DataFrame df = pd.DataFrame({ '字段1': [1, 2, 3], '字段2': ['测试1', '测试2', '测试3'] }) # 将DataFrame转换为CSV字节流 output_stream = BytesIO() df.to_csv(output_stream, encoding='utf-8', index=False) # 重置流指针到起始位置 output_stream.seek(0) # 上传到Blob存储,overwrite=True表示覆盖已有同名Blob,不需要可删除 blob_client.upload_blob(output_stream, overwrite=True)
常见参数调整说明
- 如果需要写入的是新Blob,SAS URL需要对应到你预期的新Blob完整路径,且SAS权限包含容器的创建Blob权限
- 编码如果需要适配Windows Excel打开无乱码,可将
encoding='utf-8'修改为encoding='utf-8-sig' - 不需要写入DataFrame行号的话保留
index=False,需要写入行号就删除该参数
内容的提问来源于stack exchange,提问作者user16628047
相关产品推荐
相关产品推荐

