将 Azure 函数的 CSV 输出保存到 Azure 容器 (Python 3X)

Saving CSV output from Azure function to Azure container (Python 3X)

我想 运行 Azure 函数并将 CSV 输出保存到 Azure 容器。 我目前有两个代码块

  1. 生成 CSV 文件。
  2. 将 CSV 文件加载到我的容器中。

每个块都可以在我本地 PC 的 Jupyter Notebook 中运行。

但我正在努力将它们组合起来以在 Azure 函数中协同工作。所以我正在寻求帮助。

块 1(生成 CSV)

import yfinance as yf
import pandas as pd
from datetime import date
import csv

#stock names
NZX =[["Ascension Capital Limited", "ACE"],["AFC Group Holdings Limited", "AFC"],["Z Energy Limited", "ZEL"]]

today = str(date.today().isoformat())
directory = "C:\Users\Etc...\SharePrices\CSVs\"  

df_list = list()
for i in NZX:
    code =i[1]
    name =i[0]
    cmpy =  f"{code}.NZ"
    tickerStrings = [cmpy]
    for ticker in tickerStrings:
        data = yf.download(ticker, group_by="Ticker", period='1d')
        data['ticker'] = ticker  
        df_list.append(data)       
df = pd.concat(df_list)
df.to_csv(f"{directory}_{today}.csv")

区块 2

from azure.storage.blob import BlobClient

blob = BlobClient.from_connection_string(conn_str="Myconnectionstring", container_name="container1", blob_name="StevesBlob3.csv")
with open("./output.csv", "rb") as data:
    blob.upload_blob(data)

谁能指出我正确的方向?我正在努力解决的当前问题

  1. 在尝试移动文件之前,我是否需要将文件保存在 Azure 功能的临时文件夹中,还是可以将其直接推送到容器中
  2. 保存 CSV 时如何引用目标 folder/container?

任何指导将不胜感激。 Azure 函数的新手。

带有生成的 CSV 文件的示例

#creates random csv in blob storage
import numpy as np
import pandas as pd
from datetime import datetime

from azure.storage.blob import ContainerClient

#Create dynamic filename
dateTimeObj = datetime.now()
timestampStr = dateTimeObj.strftime("%d%b%Y%H%M%S")
filename =f"{timestampStr}.csv"

df = pd.DataFrame(np.random.randn(5, 3), columns=['Column1','Column2','Colum3'])
df.to_csv(filename, index=False)  

blob = BlobClient.from_connection_string(
    conn_str="DefaultEndpointsProtocol=https;AccountName=storageaccountXXXXXXX;AccountKey=XXXXXXXXXXXXXXXX;EndpointSuffix=core.windows.net",
    container_name="container2",
    blob_name=filename)

with open(filename, "rb") as data:
    blob.upload_blob(data)