• Publicidad

Eliminar caracteres especiales en hoja XLSX

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Eliminar caracteres especiales en hoja XLSX

Notapor calcifer1990 » 2011-11-01 15:59 @707

Hola,

Estoy leyendo un archivo xlsx pero al leer algunas celdas aparece el siguiente carácter: Â

Ejemplo:

 14425 (del cual solo necesito el número)

¿Cómo puedo eliminar este carácter?

Gracias.
calcifer1990
Perlero nuevo
Perlero nuevo
 
Mensajes: 26
Registrado: 2011-10-03 10:15 @468

Publicidad

Re: Eliminar caracteres especiales en hoja XLSX

Notapor explorer » 2011-11-01 16:17 @720

Apuesto el sueldo de medio mes a que ese carácter es debido a que la celda contiene caracteres codificados en Utf8 o Unicode...

En ese caso, con el módulo Encode, deberías ser capaz de cambiarlo por el carácter correcto que quieres ver (pasar de Unicode o utf8 a la codificación que quieres usar).
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Eliminar caracteres especiales en hoja XLSX

Notapor calcifer1990 » 2011-11-01 16:30 @729

Hola, explorer.

¿Te refieres a este módulo?

use Encode::Encoder;

¿Es equivalente a en PHP usar utf8_encode($mi_variable)?
calcifer1990
Perlero nuevo
Perlero nuevo
 
Mensajes: 26
Registrado: 2011-10-03 10:15 @468

Re: Eliminar caracteres especiales en hoja XLSX

Notapor explorer » 2011-11-01 16:43 @738

Con el decode() del módulo Encode lo pasas, de una cierta codificación a la representación internar de Perl (que es siempre Unicode), y luego, a la hora de sacarlo fuera, en pantalla o fichero, pues usar encode() para pasar de la representación internar a la codificación que necesites.

O usar una capa de E/S de open (ver perldoc open).
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Eliminar caracteres especiales en hoja XLSX

Notapor calcifer1990 » 2011-11-01 16:54 @746

Muchas gracias, explorer, funcionó muy bien utilizando.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use Encode;
  2.  
  3. decode("utf8", $mi_variable).
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Pero tengo una duda más: cuando utilizo

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. $excel = Spreadsheet::XLSX -> new ('archivo.xlsx','--en este espacio debe ir la codificación---');
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


¿Cómo puedo asignar la codificación utf8 en el espacio anterior? Tengo entendido que es algo con el módulo "convert" pero no sé a qué se refieren exactamente con esto.
calcifer1990
Perlero nuevo
Perlero nuevo
 
Mensajes: 26
Registrado: 2011-10-03 10:15 @468

Re: Eliminar caracteres especiales en hoja XLSX

Notapor explorer » 2011-11-01 18:09 @798

En la misma Sinopsis del módulo Spreadsheet::XLSX tienes un ejemplo perfecto para pasar de utf8 a windows-1251.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Eliminar caracteres especiales en hoja XLSX

Notapor calcifer1990 » 2011-11-02 07:20 @347

Perfecto, muchas gracias.
calcifer1990
Perlero nuevo
Perlero nuevo
 
Mensajes: 26
Registrado: 2011-10-03 10:15 @468


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados