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/

Responder a