[pyar] Hola Mundo y [HELP!] Consulta sobre encoding de archivo...
Juan Ignacio Rodríguez De León
euribates en gmail.com
Mie Mayo 29 16:28:49 ART 2013
¿No será un problema con el nombre del archivo? Esa o acentuada en Nómina.csv
--
Juan Ignacio Rodríguez de León
Euribates en gmail.com
jileon en Twitter
El 29/05/2013, a las 03:46, Leandro E. Colombo Viña <colomboleandro en gmail.com> escribió:
> Se me escapó el "Enviar"
>
> El error que me devuelve es:
>
> Traceback (most recent call last):
> File "./PDF_Form.py", line 91, in <module>
> data = process_csv("Nómina.csv")
> File "./PDF_Form.py", line 54, in process_csv
> for i, row in enumerate(csv_data):
> UnicodeEncodeError: 'ascii' codec can't encode character u'\xda' in position 1: ordinal not in range(128)
>
> Si me pueden explicar qué es lo que está pasando, se los agradecería sobremanera!
>
>
> El 28 de mayo de 2013 23:45, Leandro E. Colombo Viña <colomboleandro en gmail.com> escribió:
>> Ok, la cuestión sigue sin funcionarme....
>>
>> Agregué la conversión del archivo CSV de iso-8859-1 a utf-8 y anduvo de 10. Pero me parece que el error ahora lo tengo en la escritura de los campos dentro de la lista.
>>
>> with codecs.open(csvfile1,"rb",encoding="iso-8859-1") as csv_file_org:
>> with codecs.open(csvfile2,"wb",encoding="utf-8") as csv_file:
>> for linea in csv_file_org.readlines():
>> csv_file.write(linea)
>> print(linea)
>> csv_file.close()
>> csv_file_org.close()
>>
>>
>> El 28 de mayo de 2013 20:04, Leandro E. Colombo Viña <colomboleandro en gmail.com> escribió:
>>
>>> Ahhhh! Entonces debería hacer un "open" del CSV que está codificado en ISO-8859-1 y luego un "close" para uqe me lo guarde como UTF-8. Y después trabajo con el archivo ese que está directamente en UTF-8.
>>>
>>> Ahora lo que no entendí muy bien, es el uso del with. ¿Cuál es la diferencia?
>>>
>>> MIL GRACIAS!
>>>
>>> Ya lo estoy probando
>>>
>>>
>>> El 28 de mayo de 2013 15:01, Juan Ignacio <euribates en gmail.com> escribió:
>>>
>>>> Si, con with sería lo deseable, o con try/finally. Lo puse así para simplificar el ejemplo. Gracias por el apunte.
>>>>
>>>>
>>>> 2013/5/28 Roberto Alsina <ralsina en netmanagers.com.ar>
>>>>> On 28/05/13 13:53, Juan Ignacio wrote:
>>>>> > Puedes usar el módulo codecs para abrir un fichero indicándole la
>>>>> > codificación a usar. Por ejemplo, si tienes un fichero en iso-8859-1 y
>>>>> > quieres salvarlo como utf-8, puedes hacer:
>>>>> >
>>>>> > import codecs
>>>>> > fin = codecs.open('entrada.txt', 'rb', encoding='iso-8859-1')
>>>>> > fout = codecs.open('saluda.txt', 'wb', encoding='utf-8')
>>>>> > for linea in fin.readlines():
>>>>> > fout.write(linea)
>>>>> > fout.close()
>>>>> > fin.close()
>>>>> >
>>>>>
>>>>> Ese código tiene un problemita: si pasa algo entre el open y el close
>>>>> (ya sé que en este ejemplo sería raro ;-),
>>>>> leakeás filehandles que en linux no importa, pero en windows sí. Yo
>>>>> vengo tratando de usar siempre context managers:
>>>>>
>>>>> with codecs.open(''entrada.txt', 'rb', encoding='iso-8859-1') as fin:
>>>>> with codecs.open('saluda.txt', 'wb', encoding='utf-8') as fout:
>>>>> for linea in fin.readlines():
>>>>> fout.write(linea)
>>>>>
>>>>>
>>>>>
>>>>> > Con el fichero abierto de esa manera, puedes (y debes :-)) trabajar en
>>>>> > unicode, él hace las conversiones necesarias de forma transparente.
>>>>> > Este código, si el fichero pepe.py está correctamente codificando en
>>>>> > utf-8, vemos que las líneas son todas unicode :
>>>>> >
>>>>> > import codecs
>>>>> > for l in codecs.open('pepe.py', encoding='utf-8'):
>>>>> > print type(l)
>>>>>
>>>>> _______________________________________________
>>>>> 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/
>>>>>
>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar
>>>>
>>>>
>>>>
>>>> --
>>>> Juan Ignacio Rodríguez de León
>>>> Móvil: 605 890514
>>>> E-Mail: euribates en gmail.com
>>>> http://www.metriz.com/
>>>> http://descon2.com/
>>>> http://www.elornitorrincoenmascarado.com/
>>>>
>>>> _______________________________________________
>>>> 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/
>>>>
>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar
>>>
>>
>
> _______________________________________________
> 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/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20130529/570fca85/attachment.html>
More information about the pyar
mailing list