【问题标题】:Upload CSV file into Microsoft Azure storage account using python使用 python 将 CSV 文件上传到 Microsoft Azure 存储帐户
【发布时间】:2017-02-17 14:39:17
【问题描述】:

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

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

【问题讨论】:

  • 您能否为 csv 提供一些带有您想要的标头的示例数据?

标签: python azure azure-blob-storage azure-functions azure-sdk-python


【解决方案1】:

我使用this 参考链接找到了解决方案。我的以下代码非常适合上传下载.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')

【讨论】:

    【解决方案2】:

    根据我的理解,我认为您想将csv 文件的数据上传到 Azure 表存储中。根据pythoncsv包的doc和Azure Storage Python SDK的官方tutorial,我制作了示例代码和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)
    

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2019-12-01
      • 2021-06-13
      • 1970-01-01
      • 2020-11-02
      • 2021-06-20
      • 2019-04-10
      • 1970-01-01
      • 1970-01-01
      • 2019-08-04
      相关资源
      最近更新 更多