[Python-es] Error con codificación de caracteres

Chema Cortes pych3m4 en gmail.com
Mar Feb 2 10:30:54 CET 2010


El día 1 de febrero de 2010 20:47, Rubén <parraymartinez en terra.es> escribió:

> Según creo el problema está en la codificación del Excel, pero he probado pegando el mismo texto desde el OpenOffice cambiando de UTF-8 a otras y sigue dando
> el mismo error.
>
> ...
>
> #Selecciona el archivo "nombre del archivo.xls" a leer.
> libro = xlrd.open_workbook("backup.xls")
> datos = xlrd.open_workbook("datos.xls")
>
> #Seleccionamos la hoja a leer.
> sheet = libro.sheet_by_name("Hoja1")
> hoja = datos.sheet_by_name("Hoja1")
> ...
> #Correo prueba
> correoprueba = hoja.cell(5,5)

El problema es que con .cell() obtienes una "instancia" de la clase
'xlrd.sheet.Cell' (lo que ves es la "representación"). Para obtener el
valor usa .cell_value(), que además te dará el tipo de dato adecuado
(cadena, entero, etc):

correoprueba = hoja.cell_value(5,5)



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