python - 使用 azure.storage.blob 将 Python DataFrame 作为 CSV 写入 Azure Blob
问题描述
我尝试了以下链接中的示例:将 Python DataFrame 作为 CSV 写入 Azure Blob但 BlockBlobService 在 azure.storage.blob 中不再可用,因此我尝试使用 BlockBlobClient 并且可以使用以下代码创建、删除容器。但是,我找不到在容器中创建 blob 并将数据帧中的记录写入其中的方法,如上面的链接中所述。请帮助我想创建一个 blob 并将数据帧中的记录写入其中。
from azure.storage.blob import BlobServiceClient
blobService = BlobServiceClient.from_connection_string("**")
#blobService = BlobServiceClient(account_name=accountName, account_key=accountKey)
try:
new_container = blobService.create_container("containerfromblobservice")
properties = new_container.get_container_properties()
except ResourceExistsError:
print("Container already exists.")
解决方案
关于这个问题,请参考以下代码
# create data
head = ["col1" , "col2" , "col3"]
value = [[1 , 2 , 3],[4,5,6] , [8 , 7 , 9]]
df = pd.DataFrame (value, columns = head)
output = df.to_csv (index=False, encoding = "utf-8")
print(output)
connection_string=''
# Instantiate a new BlobServiceClient using a connection string
blob_service_client = BlobServiceClient.from_connection_string(connection_string)
# Instantiate a new ContainerClient
container_client = blob_service_client.get_container_client('mycsv')
try:
# Create new Container in the service
container_client.create_container()
properties = container_client.get_container_properties()
except ResourceExistsError:
print("Container already exists.")
# Instantiate a new BlobClient
blob_client = container_client.get_blob_client("output.csv")
# upload data
blob_client.upload_blob(output, blob_type="BlockBlob")
推荐阅读
- javascript - 如何使用 JavaScript 检索同样在 JavaScript 中创建的 html 元素
- python - python36-devel 与 python3-dev
- python - 允许 RabbitMQ 和 Pika 保持连接始终打开
- npm - 我在哪里可以找到所有 npm 标志/标签/选项的列表?
- python - compile() 缺少 1 个必需的位置参数:'loss'
- excel - Excel 公式:COUNTIFS() 返回值错误
- elasticsearch - 在 ElasticSearch 中启用自动完成查询
- flutter - 在使用 flutter_bloc 库调度事件之前等待一些结果
- tensorflow - Kubeflow 中的分布式张量流 - NotFoundError
- vue.js - Vue路由器中的基本选项