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

PDF交易表金额提取失败,请求Python技术支持

问题描述

无法从财务交易表中提取全部信息,尤其是Concept列、**Debit Amount(借方金额)和Credit Amount(贷方金额)**列——每笔交易仅为借方或贷方,故一列有值时另一列为空。当前代码可正确提取前四列,但后三列提取结果不理想,需提取PDF中23页交易表的所有列。

列提取要求

  • Transaction Date(交易日期)和Accounting Date(记账日期):格式统一为dd/mm/yy
  • Card列:值为空白时标记为NA,否则为数字(当前固定为24,需兼容其他数字)
  • Document列:仅包含数值
  • Concept列:字母数字混合,首字母大写,可包含数字及-、_、+符号,内容可能因过长换行(非新行),需完整保留
  • Debit Amount和Credit Amount列:数值类型,使用.作为小数分隔符,,作为千位分隔符,每笔交易仅其中一列有值

当前实现代码

# Libraries
import os
import pandas as pd
import re
from unidecode import unidecode
import unicodedata
import pdfplumber
from IPython.display import display
import plotly.express as px

# WorkSpace
workspace_path = r"C:\Users\Oscar Centeno\Desktop\Oscar\CGR\2024\Ingresosnotributarios\data"
os.chdir(workspace_path)

print(f"Directorio actual: {os.getcwd()}")
print("Archivos en el espacio de trabajo:", os.listdir(workspace_path))

# Data ingestion
pdf_filename1 = "Estado cuenta BCR cta 242 Diciembre 2023.pdf"
pdf_filename2 = "11. NOVIEMBRE BNCR INGRESOS COLONES.pdf"

# Reg 
# Patrón de expresión regular para fechas, tarjeta y documento
date_tarjeta_documento_pattern = r'(\d{2}/\d{2}/\d{2})\s+(\d{2}/\d{2}/\d{2})\s*(24)?\s+(\d+)'

with pdfplumber.open(pdf_filename1) as pdf:
    for page in pdf.pages:
        text = page.extract_text()
        # Buscar todas las instancias de fechas consecutivas, tarjeta opcional, y documento numérico
        matches = re.findall(date_tarjeta_documento_pattern, text)
        for match in matches:
            # Verificar si el tercer grupo (tarjeta) está vacío y asignar 'Na' si es así
            tarjeta = match[2] if match[2] == '24' else "Na"
            data.append({
                "Fecha Movimiento": match[0],
                "Fecha Contable": match[1],
                "Tarjeta": tarjeta,
                "Documento": match[3]  # El cuarto grupo captura el número de documento
            })

# Convert into a DataFrame
df = pd.DataFrame(data)

内容的提问来源于stack exchange,提问作者Oscar CENTENO MORA

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 17:54:56