[Python-es] Analizar cadena y extraer valores

Luis Iglesias luis.iglesias en vigo.org
Mar Jun 3 12:50:57 CEST 2014


----- Mensaje original -----
De: "Manuel A. Estevez Fernandez" <stvzito en gmail.com>
Para: "La lista de python en castellano" <python-es en python.org>
Enviados: Lunes, 2 de Junio 2014 17:50:02
Asunto: Re: [Python-es] Analizar cadena y extraer valores

Muchas gracias por tu aportación Luis, si me pudieras compartir tu código te lo agradecería mucho. Porque de momento estoy jugando todavía a prueba y error con la interpretación del texto extraído. 

------------
No sé si la lista admite adjuntos.
Envío el módulo principal y un ejemplo de uso. Ten en cuenta que este módulo trabaja con el fichero html que se genera con pdftotext a partir del pdf.
Yo lo estoy empleando para leer facturas y generar un json con los datos

El código de uso sería algo así:

from ocr.utilspdf import PdfTextInfo
from extra import debug, fechas
import json
import os.path

        hInfo = PdfTextInfo(ficheroHtml)
        self.json = {}
        j = self.json
        j['002.pdf.pagDesde'] = 1
        j['002.pdf.pagHasta'] = hInfo.totalPaginas
        j['010.factura'] = hInfo.getTextoEnXY(1, 70.8, 216.352)
        j['021.fIniFact'] = fechas.YMD(fechas.dd_mm_aa2date(hInfo.getTextoEnXY(1, 70.8, 317.632)))
        p = hInfo.getNumpag(70.8, 126.416, 'ENDEREZO')
        j['040.direccion'] = hInfo.getTextoEnRegion(p, (70.8, 134.032, 300, 142.888))

La clase PdfTextInfo está definida en el módulo utilspdf que adjunto.
El método getTextoEnXY devuelve la palabra que tiene exactamente esas coordenadas en la esquina superior izquierda.
El método getTextoEnRegion recoge el texto que se encuentra en las esquinas que se le pasen.
Hay algunos métodos que quizá no te hagan falta, como obtener el total de páginas o preguntar en qué página se encuentra tal texto en tal posición.

Si tienes alguna pregunta no tendré problema en contestar: por aquí (si la lista está de acuerdo) o por el correo privado.
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: utilspdf.py
Type: text/x-python
Size: 2410 bytes
Desc: no disponible
URL: <http://mail.python.org/pipermail/python-es/attachments/20140603/3b8a3a4c/attachment.py>


Más información sobre la lista de distribución Python-es