5

我正在尝试.csv使用 python 将文件上传到 Microsoft Azure 存储帐户。我找到了将数据写入 blob 存储的C-sharp代码。但是,我不懂C#语言。我需要.csv使用 python 上传文件。

是否有任何 python 示例将 CSV 文件的内容上传到 Azure 存储?

4

2 回答 2

16

我使用参考链接找到了解决方案。我的以下代码非常适合上传下载 .csv文件。

#!/usr/bin/env python

from azure.storage.blob import BlockBlobService
from azure.storage.blob import ContentSettings

block_blob_service = BlockBlobService(account_name='<myaccount>', account_key='mykey')
block_blob_service.create_container('mycontainer')

#Upload the CSV file to Azure cloud
block_blob_service.create_blob_from_path(
    'mycontainer',
    'myblockblob.csv',
    'test.csv',
    content_settings=ContentSettings(content_type='application/CSV')
            )

# Check the list of blob
generator = block_blob_service.list_blobs('mycontainer')
for blob in generator:
    print(blob.name)

# Download the CSV file From Azure storage
block_blob_service.get_blob_to_path('mycontainer', 'myblockblob.csv', 'out-test.csv')
于 2017-02-01T15:13:05.357 回答
1

根据我的理解,我认为您想将csv文件数据上传到 Azure 表存储中。根据python包的文档和Azure Storage Python SDKcsv的官方教程,我制作了示例代码和 csv 数据,如下所示。

例如,我的测试 csv 文件的数据如下。

Name,Species,Score
Kermit,Frog,10
Ms. Piggy,Pig,50
Fozzy,Bear,23

和示例代码。

import csv
from azure.storage.table import TableService, Entity

table_service = TableService(account_name='myaccount', account_key='mykey')
table_service.create_table('csvtable')

csvfile = open('test.csv', 'r')
fieldnames = ('Name','Species','Score')
reader = csv.DictReader(csvfile)
rows = [row for row in reader]
for row in rows:
  index = rows.index(row)
  row['PartitionKey'] = '1'
  row['RowKey'] = '%08d' % index
  table_service.insert_entity('csvtable', row)

希望能帮助到你。

于 2017-02-01T15:22:19.280 回答