Función SPLIT en más de 2 millones de datos
Publicado: 2014-06-03 16:42 @737
Estimados: Quisiera un poco de ayuda en el trabajo que estoy realizando, el cual consta de filtrar un archivo .txt, con más de 2 millones de datos que cuentan con la siguiente estructura:
(ID1,'TEXTO1','clasificacion1','user1','timestamp1','url1','código1),(ID2,'TEXTO2','clasificacion2','user2','timestamp2','url2','código2), ...
Dichos datos se encuentran almacenados en forma consecutiva separados tan solo por una coma ",", donde en ciertos sectores aparece un punto y coma ";".
De lo anterior, requiero generar un filtro mediante Perl para poder dejar tan solo los siguientes datos: ID, TEXTO, USER, y timestamp.
Por lo tanto, intenté realizarlo con la función split(). El problema es que dicha función me toma las primera 600 líneas y quizás más, formándome bloques de texto y no pudiendo evaluar línea por línea para por hacer el filtrado respectivo.
El código es el siguiente:
Favor si me pudieran orientar para poder generar un filtrado eficiente para poder manipular los datos en forma individual desde una aplicación en Java.
Saludos
(ID1,'TEXTO1','clasificacion1','user1','timestamp1','url1','código1),(ID2,'TEXTO2','clasificacion2','user2','timestamp2','url2','código2), ...
Dichos datos se encuentran almacenados en forma consecutiva separados tan solo por una coma ",", donde en ciertos sectores aparece un punto y coma ";".
De lo anterior, requiero generar un filtro mediante Perl para poder dejar tan solo los siguientes datos: ID, TEXTO, USER, y timestamp.
Por lo tanto, intenté realizarlo con la función split(). El problema es que dicha función me toma las primera 600 líneas y quizás más, formándome bloques de texto y no pudiendo evaluar línea por línea para por hacer el filtrado respectivo.
El código es el siguiente:
Using perl Syntax Highlighting
- open FICHERO,"datos_2013.txt";
- open SALIDA,">salida.txt";
- while($linea = <FICHERO>) {
- @cadena=split(/,/,$linea);
- print SALIDA $cadena[0].",".$cadena[1].",".$cadena[3].",".$cadena[4].")"."\n";
- }
- close FICHERO;
- close SALIDA;
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Favor si me pudieran orientar para poder generar un filtrado eficiente para poder manipular los datos en forma individual desde una aplicación en Java.
Saludos