Python Azure Blob直接上传

时间:2018-04-24 09:26:29

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

我正在尝试将Azure blob中的csv作为流读取到Python中,然后直接将其写回Azure blob。读取操作完全正常,但写入输出流只是将空文件写入blob。以下代码一直有效,直到打印(df),但不会在此之后。

以下是代码:

代码:

from io import BytesIO, StringIO

with BytesIO() as input_blob:   

  with BytesIO() as output_blob:

    block_blob_service = BlockBlobService(account_name='aaaccc', account_key='*/*/*--')

    block_blob_service.get_blob_to_stream('test', 'Source.csv', input_blob)

    input_blob.seek(0)

    df=pd.read_csv(input_blob)

    print(df)

    copyfileobj(input_blob, output_blob)

    block_blob_service.create_blob_from_stream('test', 'OutFilePy.csv', output_blob)

1 个答案:

答案 0 :(得分:0)

问题是在activity_ids之后,pd.read_csv的光标位于EOF。因此input_blob只需将任何内容复制到copyfileobj

您只需在output_blob之后添加input_blob.seek(0)即可解决此问题。