写一段Python,能够将azure storage account里指定容器里指定文件夹中的Excel文件转化为CSV
时间: 2024-06-10 08:06:45 浏览: 279
文件并存储到同一容器中指定的目录下。
可以使用Python的Azure Storage Blob库来实现这个功能。以下是示例代码:
```
from azure.storage.blob import BlobServiceClient
import pandas as pd
# Azure Storage 账户信息和容器名称、共享访问密钥等
account_name = 'your_account_name'
account_key = 'your_account_key'
container_name = 'your_container_name'
source_folder = 'your/source/folder'
dest_folder = 'your/dest/folder'
# 创建BlobServiceClient对象
blob_service_client = BlobServiceClient(account_url=f'https://{account_name}.blob.core.chinacloudapi.cn',
credential=account_key)
# 获取容器
container_client = blob_service_client.get_container_client(container_name)
# 获取所有文件路径
blob_list = container_client.walk_blobs(name_starts_with=source_folder)
# 遍历文件
for blob in blob_list:
if blob.name.endswith('.xlsx'):
# 下载Excel文件并转换为CSV
blob_data = blob.download_blob().readall()
df = pd.read_excel(blob_data)
csv_data = df.to_csv(index=False, encoding='utf-8-sig')
# 上传CSV文件到目标文件夹
blob_path = blob.name.replace(source_folder, dest_folder).replace('.xlsx', '.csv')
blob_client = container_client.get_blob_client(blob_path)
blob_client.upload_blob(csv_data, overwrite=True)
```
注意:你需要先安装pandas库和azure-storage-blob库。
以上代码会将容器内指定文件夹下的所有Excel文件转换为CSV格式并存储到指定目录中,文件名和文件路径会保持一致。
阅读全文