首页 > 解决方案 > 在 Function App Python 中修改 Excel 文件

问题描述

我使用 Python 语言在 Azure Function 中创建了一个函数 HTTP 触发函数。该脚本在我想如何修改 excel 方面正常工作。

在脚本中,我为 excel 文件提供了本地路径,并将文件保存在本地。但我想做的是从电子邮件中获取此附件。为了实现这一点,我正在创建一个逻辑应用程序并在新电子邮件到达时触发逻辑。

现在我想在函数应用程序中使用附件。那么我如何才能在 Python 脚本中读取该附件呢?另外,最后,我想返回这个excel,这样我就可以使用文件系统保存这个文件。

Azure 逻辑应用

请查看下面的函数以了解我当前如何读取文件

import logging
import azure.functions as func
import openpyxl
def main(req: func.HttpRequest) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')
    wb = load_workbook(filename='test.XLSX')
    ws = wb.active
    wb.save('Test_Modified.xlsx')
return func.HttpResponse(f"This HTTP triggered function executed successfully.")

标签: pythonexcelazure-logic-appsazure-function-app

解决方案


您可以从您从逻辑应用触发的 Azure 函数的 http 请求中读取该文件。

import logging
import openpyxl
import azure.functions as func
import io

def main(req: func.HttpRequest) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')
    wb = load_workbook(filename = io.BytesIO(req.get_body()))
    # do stuffs
return func.HttpResponse(f"This HTTP triggered function executed successfully.")

如果需要,可以在 Function 的 http 响应中返回字节。


推荐阅读