• Publicidad

Eliminar las últimas columnas de un archivo .csv

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

Eliminar las últimas columnas de un archivo .csv

Notapor sufisavey80 » 2013-05-22 10:28 @478

Muy buenos días.

Si tengo un archivo .csv separado por comas con 61 columnas y deseo eliminar las columnas 59, 60 y 61, ¿cómo podría utilizar undef o cuál sería la mejor manera?

Muchas gracias.
sufisavey80
Perlero nuevo
Perlero nuevo
 
Mensajes: 29
Registrado: 2012-11-07 18:17 @803

Publicidad

Re: Eliminar las últimas columnas de un archivo .csv

Notapor explorer » 2013-05-22 10:45 @490

Pero... ¿quieres modificar el archivo, o te basta con ir leyendo el archivo línea a línea y lo que quieres es no considerar esas columnas?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Eliminar las últimas columnas de un archivo .csv

Notapor sufisavey80 » 2013-05-22 10:49 @492

¿Qué tal, explorer...?

Sería modificar el archivo y dejarlo sin esas últimas columnas...

Saludos.
sufisavey80
Perlero nuevo
Perlero nuevo
 
Mensajes: 29
Registrado: 2012-11-07 18:17 @803

Re: Eliminar las últimas columnas de un archivo .csv

Notapor explorer » 2013-05-22 10:55 @496

Humm... no recuerdo ahora mismo de ningún módulo que permita hacerlo, pero seguro que lo hay.

De todas maneras, la forma más inmediata también funciona:
  • ir leyendo el archivo, línea a línea
  • eliminar las tres últimas columnas
  • confeccionar la nueva línea y guardarla en un nuevo archivo
  • al final, borrar el archivo viejo, y renombrar el nuevo al nombre del viejo
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Eliminar las últimas columnas de un archivo .csv

Notapor sufisavey80 » 2013-05-22 10:59 @499

Ok, me parece bien, explorer.

El segundo punto "eliminar las tres últimas columnas", ¿cómo se hace?


Gracias.
sufisavey80
Perlero nuevo
Perlero nuevo
 
Mensajes: 29
Registrado: 2012-11-07 18:17 @803

Re: Eliminar las últimas columnas de un archivo .csv

Notapor explorer » 2013-05-22 11:09 @506

Si, suponemos, que leemos las columnas así:

my @columnas = split /[,]/, $linea;

entonces, "eliminamos" las tres últimas columnas con:

splice @columnas, -3;

Más información en perldoc -f splice
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Eliminar las últimas columnas de un archivo .csv

Notapor sufisavey80 » 2013-05-22 11:32 @522

Muchas gracias, explorer... Ya quedó lo que necesitaba... Saludos.
sufisavey80
Perlero nuevo
Perlero nuevo
 
Mensajes: 29
Registrado: 2012-11-07 18:17 @803


Volver a Básico

¿Quién está conectado?

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