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

309
Vistas
Leer csv con fast-csv en node.js cuando 3 columnas tienen los mismos títulos

Estoy tratando de leer un archivo CSV con fast-csv en Node.js. El archivo csv tiene una fila de encabezado que contiene 90 columnas. 87 de ellos tienen nombres únicos. Pero 3 columnas tienen el mismo nombre de encabezado "Transformación". Esto es obviamente un error semántico. Fast-csv se queja de que los encabezados no son únicos y no lee el CSV. Lo sé, todos los nombres de las columnas deberían ser diferentes, pero así es como obtengo el archivo CSV. ¿Hay alguna manera de leer los encabezados y si alguna columna tiene un nombre que tiene otra columna, el nombre se convierte automáticamente en "Transformation_int", siendo int un número aleatorio?

 csv.parseFile(csvFileName, { headers: true, delimiter: ";", headers: headers => headers.map( h => {h.replace( /[\r\n]+/gm, " " )}) }) .on ("data", function (row) { <doing something> }) .on ("error", error => {console.log("This error occured:",error)}) .on ("end", () => { console.log("Import finished")});
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

no podría usar encabezados en absoluto, y luego la primera fila contendrá encabezados, y puede procesar manualmente el resto de los datos con referencia a la primera fila según lo necesite, e incluso mantener nombres duplicados:

 headers: false

o puede pasar una función de transformación que detecta duplicados y también les cambia el nombre

aquí hay un ejemplo rápido que cambia el nombre de los encabezados duplicados agregando un número aleatorio:

 csv.parseFile(csvFileName, { delimiter: ";", headers: headers => { // rename duplicate headers.map((el, i, ar) => { if (ar.indexOf(el) !== i) { headers[i] = `${el}_${i}`; } }); return headers; } }) .on("data", function(row) { console.log('row', row); }) .on("error", error => { console.log("This error occured:", error) }) .on("end", () => { console.log("Import finished") });
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