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

222
Visualizações
Leer CSV en Typescript da NaN al leer el número

Bueno, estoy tratando de leer un archivo CSV con Typescript

Este es mi código:

 export default class Playlist{ public playlistId: Number = 0; public playlistName: string = ''; constructor(line:string){ const item = line.split(',') this.playlistId = +item[0]; this.playlistName = item[1]; } }

 fs.readFile('.\\csv\\playlist.csv', 'utf8',(err, res) => { if(err){ console.error('YEET'); return; }else{ const playlists = res.split('\n').slice(1).map((x:string) => new Playlist(x)) console.log(playlists) } })

Estos son los datos CSV:

 "1","Music" "2","Movies" "3","TV Shows" "4","Audiobooks"

Este es el objeto de la lista de reproducción que obtengo:

 Playlist { playlistId: NaN, playlistName: '"Music"\r' },

Como puede ver para el ID de la lista de reproducción, obtengo NaN, pero no tengo idea de por qué, porque lo analizo en un número correctamente. Además, no es necesario que el nombre de la lista de reproducción también esté en un formato extraño.

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Es porque tiene marcas de voz envueltas alrededor de cada valor. Arregle la clase Playlist con lo siguiente:

Clase de lista de reproducción fija

 export default class Playlist { public playlistId: Number = 0; public playlistName: string = ""; constructor(line: string) { const item = line.split(/"|\\r/).join("").split(","); this.playlistId = Number(item[0]); // or keep as =+ item[0] this.playlistName = item[1]; } }

O elimine las comillas del archivo CSV.

CSV de lista de reproducción fija

 1,Music 2,Movies 3,TV Shows 4,Audiobooks
about 4 years ago · Juan Pablo Isaza Relatório

0

Si ve que su nombre de lista de reproducción, incluye un par extra de comillas dobles '"Music"\r' .

Antes de analizar item[0] , también debería verse como '"1"' y se espera que +'"2"' sea NaN cuando analice eso.

Una solución fácil sería simplemente reemplazar todas las comillas con caracteres vacíos, cambiando efectivamente el análisis a +item[0].replace(/\"/g, "")

about 4 years ago · Juan Pablo Isaza Relatório

0

no pones ; después de cada valor? ¿Sólo es una pregunta?

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