Ang*_*Sen 2 python azure-storage azure-blob-storage
我正在尝试将 csv 作为流从 Azure blob 读取到 Python 中,然后直接将其写回 Azure blob。读取操作工作得很好,但写入输出流只是将一个空文件写入 blob。以下代码在 print(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)
Run Code Online (Sandbox Code Playgroud)
问题是pd.read_csv,在 后,光标input_blob位于 EOF 处。因此copyfileobj,只需将任何内容复制到output_blob.
您只需添加一个input_blob.seek(0)afterread_csv即可解决此问题。
| 归档时间: |
|
| 查看次数: |
1400 次 |
| 最近记录: |