[pyar] Codificación de archivos...

Gustavo Campanelli gedece en gmail.com
Sab Jul 9 21:39:58 ART 2011


Si, cada cierto tiempo las agencias recaudadoras hacen ese tipo de cambios,
y a veces sin avisar.

La AFIP, por ejemplo, publica padrones de contribuyentes, y cada cierto
tiempo, digamos entre 8 meses al año y medio, introducen una variación como
la codificación, o la posición de los datos, o el separador que usan.

Y ante eso hay que cerrar los ojos unos momentos, abrirlos, realizar los
cambios en todo los clientes que lo usen, y listo.

Gedece

2011/7/9 Mauricio Baeza <mauricio en correolibre.net>

> **
> El sáb, 09-07-2011 a las 18:33 -0500, Mauricio Baeza escribió:
>
>  Hola a todos...
>
> Tengo el siguiente problema.
>
> Tengo cientos de archivos XML (son facturas electrónicas). Están generados
> en UTF-8, se puede comprobar en el Gedit con el cursor en la pestaña que
> muestra correctamente Unicode(UTF-8). Estos cientos de archivos se validan
> en una página del SAT (el ente encargado de recaudar impuestos en mi país
> México), ahora. Desde hace unos días, todos estos archivos que ya habían
> sido validados, los marca erróneos por que dice no están codificados en
> UTF-8. Para asegurarme de que fueran en UTF-8, use el siguiente sencillo
> script de Python:
>
> # python
> path='original.xml'
> path2='original_ok.xml'
>
> f= open(path, 'rb')
> content= f.read()
> f.close()
> f= open(path2, 'wb')
> f.write(content.encode('utf-8'))
> f.close()
>
> El archivo queda exactamente igual, pero exactamente igual los marca no
> valido el SAT. La siguiente prueba fue, abrir una maquina virtual con Win
> XP, abrir el archivo en el Bloc de Notas, guardar como y seleccionar UTF-8,
> con este sencillo cambio, de nuevo estos XML son validos, tengo dos
> preguntas:
>
> ¿Alguien sabe o como se puede averiguar como es que "realmente" lo guardar
> el Bloc de Notas?
> ¿Como puedo hacer esto en Python en lo que nos peleamos con el SAT?
>
> Agradecer cualquier ayuda.
>
> Un abrazo
>
>
> Me respondo a mi mismo por si a alguien le sirve...
>
> El Notepad de Window le agrega un BOM al archivo al guardar como UTF-8:
> http://es.wikipedia.org/wiki/Marca_de_orden_de_bytes_%28BOM%29
>
> El script de Python modificado quedaría así para lograr esto:
>
> # python
> import codecs
>
>
> path='original.xml'
> path2='original_ok.xml'
>
> f= open(path, 'rb')
> content= f.read()
> f.close()
> f= open(path2, 'wb')
> f.write( codecs.BOM_UTF8 )
>
> f.write(content.encode('utf-8'))
> f.close()
>
>
> Me parece obtuso hacer este cambio a estas alturas, pero en fin, esa es la
> tónica en las autoridades de mi país...
>
> Saludos a todos
>
>
>
>   --
> __________________________________
> Mauricio Baeza Servín
> Universo Libre México, A.C.
> Fundador y Director General
> www.universolibre.org
> *Todo lo que no podemos dar nos posee... Andre Gide*
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20110709/c9af8366/attachment.html>


More information about the pyar mailing list