簡體   English   中英

使用python將CSV文件上載到Microsoft Azure存儲帳戶

[英]Upload CSV file into Microsoft Azure storage account using python

我正在嘗試使用python將.csv文件上傳到Microsoft Azure存儲帳戶。 我發現C-sharp代碼將數據寫入blob存儲。 但是,我不懂C#語言。 我需要使用python上傳.csv文件。

是否有任何python示例將CSV文件的內容上傳到Azure存儲?

我找到了使用參考鏈接的解決方案。 我的以下代碼完全適用於上傳下載 .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')

根據我的理解,我認為您希望將csv文件的數據上傳到Azure表存儲。 根據python csv包的文檔和Azure存儲Python SDK的官方教程 ,我制作了示例代碼和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)

希望能幫助到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM