Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

136
Vistas
¿Cómo enviar datos que contienen una columna específica?

Estoy escribiendo un script de NodeJS que lee este enorme

y necesito escribir un archivo nuevo que contenga solo filas de datos que tengan valores de ganancias numéricos válidos y luego ordenar los datos según el valor de ganancias, y

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

He usado la opción mapHeaders para convertir los encabezados de las columnas a minúsculas, y solo uso la primera palabra (por lo que descartamos "(en millones)").

Luego, si existe la columna de profit , la analizo como un float . Luego podemos usar eso en sort() para obtener las 20 filas principales por ganancias.

En lugar de guardar todas las filas en results , solo incremento una variable que contiene un contador de línea.

 const fs = require("fs"); const csv = require("csv-parser"); let lines = 0; const validResults = []; const inputFile = "./data.csv"; fs.createReadStream(inputFile) .pipe(csv({ mapHeaders: h => h.split(" ")[0].toLowerCase(), })) .on("data", (data) => { try { if (data.profit) { data.profit = parseFloat(data.profit); validResults.push(data); } lines++; } catch (err) { console.log(err) } }) .on("end", () => { console.log('# of Rows of data is', lines); fs.writeFile('data2.json', JSON.stringify(validResults.sort((a, b) => b.profit - a.profit).slice(0, 20)), (err) => { if (err) throw err; console.log("File created") }) });

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda