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

使用PyPDF2提取PDF发票指定字段无输出,求问题排查及解决方法

代码核心错误点

  • 循环内的索引变量i从未自增,始终为初始值0,导致取行完全错位
  • 字段对应逻辑错误:Date、PO行本身是字段标识,实际值在对应标识的下一行
  • 冗余操作过多:每次循环重复执行content.split('\n'),且无意义嵌套了if "LZE Packaging" in content判断
  • 缩进逻辑错误:字段提取判断的缩进层级不对,无法命中匹配的行

修正后可直接运行的代码

# 预处理:统一去除每行首尾空白,过滤空行
lines = [line.strip() for line in content.split('\n') if line.strip()]
extract_res = {}

# 用enumerate自动获取行索引,无需手动维护i变量
for idx, row in enumerate(lines):
    if row == 'Date':
        extract_res['订单日期'] = lines[idx + 1]
    elif row == 'PO':
        extract_res['订单号'] = lines[idx + 1]
    elif row == 'QTY':
        extract_res['数量'] = lines[idx + 4]
    elif row == 'Unit':
        extract_res['单价'] = lines[idx + 4]

# 按要求格式输出
print(f"订单号:{extract_res['订单号']}、订单日期:{extract_res['订单日期']}、数量:{extract_res['数量']}、单价:{extract_res['单价']}")

运行输出

订单号:L-123456、订单日期:12.08.2021、数量:2560、单价:1.95

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 20:24:03