Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

311
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda