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

Databricks中Python重构认知服务名片识别代码无输出问题排查

代码无输出问题排查
  • 字段读取逻辑错误:原始代码中FirstName、LastName不是名片根级别的字段,是嵌套在ContactNames字段的value数组下的子属性,直接调用business_card.fields.get("FirstName")永远返回None,不会写入任何数据到DataFrame。
  • URL拼写错误:定义的bcUrl中azure-ai formrecognizer路径段多了空格,正确路径应为azure-ai-formrecognizer,错误URL会直接导致识别接口请求失败。
  • 接口传参错误:遍历blob时已经拼接了每个文件对应的blob_url,但调用识别接口时传入的还是写死的bcUrl,不会实际遍历识别存储容器里的文件。
  • 缩进语法错误:for blob in container.list_blobs(): 代码行前多了一级无效缩进,Python会直接抛出缩进错误,循环逻辑根本不会执行。
  • 输出逻辑错误:普通Python脚本环境中,最后一行单独写df不会触发打印输出,只有Jupyter/IPython类交互环境会自动渲染最后一行变量的值,脚本运行需要主动调用print(df)才会显示结果。
  • 额外兼容问题:Pandas高版本(1.4.0及以上)已经废弃df.append()方法,运行会抛出警告,推荐用pd.concat()实现行拼接。

修正后可运行代码

import pandas as pd

field_list = ["FirstName", "LastName"]
df = pd.DataFrame(columns=field_list)
# 修正URL拼写
bcUrl = "https://raw.githubusercontent.com/Azure/azure-sdk-for-python/master/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_forms/business_cards/business-card-english.jpg"

# 修正缩进
for blob in container.list_blobs():
    blob_url = container_url + "/" + blob.name
    # 传入当前遍历到的blob地址,而非固定的样例URL
    poller = form_recognizer_client.begin_recognize_business_cards_from_url(blob_url)
    business_cards = poller.result()
    print("Scanning " + blob.name + "...")
    
    for idx, business_card in enumerate(business_cards):
        contact_names = business_card.fields.get("ContactNames")
        if contact_names:
            # 遍历名片下的所有联系人,每个联系人存为一行
            for contact_name in contact_names.value:
                single_df = pd.DataFrame(columns=field_list)
                for field in field_list:
                    field_obj = contact_name.value.get(field)
                    if field_obj:
                        single_df[field] = [field_obj.value]
                single_df['FileName'] = blob.name
                # 用concat替代已废弃的append
                df = pd.concat([df, single_df], ignore_index=True)

df = df.reset_index(drop=True)
# 主动打印DataFrame
print(df)

内容的提问来源于stack exchange,提问作者Patterson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 03:27:26