You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure Function中返回保留表格结构的DataFrame?

在Azure Function中保留DataFrame表格结构的输出方案

以下是几种实用的实现方式,均能保留DataFrame的表格结构,适配不同的调用场景:

  • 输出结构化JSON
    利用pandas的to_json()方法,指定orient='table'可生成符合JSON Table Schema标准的结构化输出,包含列名、数据类型等元信息,调用方可轻松还原成DataFrame。若仅需数据列表,改用orient='records'更简洁。

    import azure.functions as func
    import pandas as pd
    
    def main(req: func.HttpRequest) -> func.HttpResponse:
        # 模拟文本输入处理生成DataFrame
        input_text = req.params.get('text') or req.get_body().decode('utf-8')
        df = pd.DataFrame({
            '文本片段': [input_text[:10], input_text[10:20]],
            '字符长度': [len(input_text[:10]), len(input_text[10:20])]
        })
    
        # 转换为带结构的JSON
        structured_json = df.to_json(orient='table', force_ascii=False)
        return func.HttpResponse(
            structured_json,
            mimetype='application/json',
            status_code=200
        )
    
  • 输出CSV格式
    若调用方需要可直接导入Excel、Tableau等工具的格式,将DataFrame转为CSV字符串返回,也可设置响应头让结果作为附件下载。

    import azure.functions as func
    import pandas as pd
    
    def main(req: func.HttpRequest) -> func.HttpResponse:
        # 生成示例DataFrame
        df = pd.DataFrame({'产品ID': ['P001', 'P002'], '库存数量': [150, 80]})
    
        # 转换为CSV字符串(不含索引列)
        csv_content = df.to_csv(index=False, encoding='utf-8')
        # 作为普通CSV响应返回
        return func.HttpResponse(
            csv_content,
            mimetype='text/csv',
            status_code=200
        )
    
        # 可选:设置为附件下载
        # return func.HttpResponse(
        #     csv_content,
        #     mimetype='text/csv',
        #     headers={'Content-Disposition': 'attachment; filename="inventory.csv"'},
        #     status_code=200
        # )
    
  • 输出HTML表格
    针对Web端调用场景,可直接返回HTML格式的表格,便于直观展示数据结构。

    import azure.functions as func
    import pandas as pd
    
    def main(req: func.HttpRequest) -> func.HttpResponse:
        df = pd.DataFrame({'姓名': ['张三', '李四'], '部门': ['研发部', '市场部']})
        # 生成HTML表格(不含索引,添加边框)
        html_table = df.to_html(index=False, border=1)
        return func.HttpResponse(
            f'<html><body><h3>处理结果</h3>{html_table}</body></html>',
            mimetype='text/html',
            status_code=200
        )
    

内容的提问来源于stack exchange,提问作者Hammad Hassan Khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 21:35:00