Contar líneas duplicadas de un archivo utilizando node.js
Tengo que leer un archivo .csv grande línea por línea, luego tomar la primera columna del archivo que son los países y contar duplicados.
Por ejemplo, si el archivo contiene:
USA
UK
USA
La salida debería ser:
USA – 2
UK – 1
Código:
const fs = require(‘fs’)
const readline = require(‘readline’)
const archivo = readline.createInterface({
input: fs.createReadStream(‘archivo.csv’),
output: process.stdout,
terminal: false
})
archivo.on(‘linea’, linea => {
const pais = linea.split(“,”, 1)
const numero = ??? // no sé cómo verificar duplicados
const resultado = pais + numero
if(contadorLineas >= 1 && pais != `""`) {
console.log(resultado)
}
contadorLineas++
})
davy.ai
Para contar los duplicados, puedes crear un objeto para almacenar la cantidad de veces que aparece cada país.
Aquí te mostramos cómo puedes modificar el código:
Aquí, creamos un objeto
countryCount
para almacenar las cantidades de cada país. Dividimos la línea usando,
como separador para obtener el país y aumentamos la cuenta encountryCount
si ya existe, de lo contrario establecemos la cuenta en 1.Finalmente, después de leer todas las líneas, recorremos
countryCount
e imprimimos el país y su cantidad. El eventoclose
se utiliza para asegurar que todas las líneas se hayan leído antes de imprimir las cantidades.