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

221
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

0

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

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