Gracias por el aporte Chema.
Estoy empezando a echarle una leída al modulo re, de momento se ocurrio
algo tal vez sencillo y poco elegante para la primera parte de la factura:
_texto.split('Other References')[1].split('Goods description')[0]
E ir sacando la información entre "TAGS".
Aún no comienzo a pensar como extraer, la parte del detalle, ya que el
único tag que encuentro recurrente es Total: y cuando hay un salto de
pagina me encuentro lo siguiente:
- Continue -_________________________ Signed by Page No. # of # Inv
No. [#######]
Comenzaré con el proceso de Prueba y Error.
Saludos.
by:
ISC. Manuel Alejandro Estévez Fernández
El 29 de mayo de 2014, 14:28, Chema Cortes <[email protected]> escribió:
>
>
>
> El 29 de mayo de 2014, 19:03, Manuel A. Estevez Fernandez <
> [email protected]> escribió:
>
> Saludos a todos
>>
>> Tengo la siguiente necesidad:
>>
>> Extraer el texto de un archivo PDF (una factura), el cual lo resolví
>> utilizando pyPdf, sin embargo el texto texto resultante de la lectura, es
>> una sola linea de texto de la cual debo extraer.
>> El patrón de la información siempre es el mismo:
>>
>> *COMMERCIAL INVOICESeller*[Datos]*Consignee*[Datos]*Notify
>> Party*[Datos]*Departure
>> Date:* [datos]*Delivery and Payment Term*[Datos]*Country of
>> origin*[Datos]*Invoice No. & Date*[Datos]*PO no. & Date*[Datos]*Buyer
>> Reference NO & Date*[Datos]*Buyer*[Datos]*Remarks*[Datos]*Other
>> References*[Datos*]Goods description Model code
>> Quantity Unit
>> priceAmount*[descripcion]
>> [Modelo] [Cantidad]
>> [PrecioUnitario][Monto] *Total: *[Descripcion]
>> [Cantidad] [Importe][Moneda][descripcion] [Modelo]
>> [Cantidad] [PrecioUnitario][Monto] *Total: *[Descripcion]
>> [Cantidad] [Importe][Moneda][descripcion]
>> [Modelo] [Cantidad] [PrecioUnitario][Monto]
>> *Total: *[Descripcion] [Cantidad]
>> [Importe][Moneda]*/////////END OF DATA//////////////*
>>
>> Las que se encuentran en negritas son los tags que se repiten de forma
>> fija.
>>
>> Sería de mucha ayuda si me pudieran indicar cuáles herramientas utilizar
>> o algún método general para realizar este proceso.
>>
>
> Lo que necesitas no sencillo. Según la variedad de facturas, necesitarás
> muchas horas de prueba/error hasta lograr un proceso depurado que te
> extraiga la información limpia.
>
> Yo empezaria con el módulo re (expresiones regulares) e intentaría dividir
> el problema en partes.
>
> Algo muy sencillo para obtener todo el texto delimitado por TAGs sería:
>
> import re
> pat = re.compile("TAG1(.*?)TAG2(.*?)//////END OF DATA////")
>
> data = pat.findall(texto)
>
>
>
>
>>
>> Gracias de antemano.
>>
>> by:
>>
>> ISC. Manuel Alejandro Estévez Fernández
>>
>>
>> _______________________________________________
>> Python-es mailing list
>> [email protected]
>> https://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>>
>
>
> --
> Hyperreals *R "Quarks, bits y otras criaturas infinitesimales":
> http://ch3m4.org/blog
> Buscador Python Hispano: http://ch3m4.org/python-es
>
> _______________________________________________
> Python-es mailing list
> [email protected]
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
_______________________________________________
Python-es mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/