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

185
Vistas
¿Cómo puedo imprimir solo el conteo final en la consola?

Tengo un archivo csv con el nombre y las edades de las personas. Quiero obtener el recuento de personas menores de 30 años.

He probado el siguiente código.

 <script src='https://d3js.org/d3.v7.min.js'></script> <script> let thiscsv = 'my csv link here'; let count=0; d3.csv(thiscsv, function(data) { if(data.age>30) { count++ } console.log(count); }); </script>

Comprueba cada línea e imprime en ella la consola cada vez que agrega 1 conteo donde sea verdadero hasta el final del archivo csv. Quiero imprimir solo el conteo final directamente en la consola. ¿Cómo puedo hacer esto?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Lea atentamente la respuesta que recibió para su pregunta anterior (y le sugiero que la vote a favor, como lo hice yo): lo primero que dice el que responde es que necesita then() . Este es D3 v7, no usa una devolución de llamada como D3 v4 o menos. De la forma en que lo está haciendo ahora, la llamada función de fila se ejecutará para cada fila analizada, como se esperaba.

Esto es lo que debe hacer, de nuevo, preste atención al then() :

 <script src='https://d3js.org/d3.v7.min.js'></script> <script> let thisCsv = URL.createObjectURL(new Blob([`name,age foo,12 bar,34 baz,63 foobar,17, barbar,43, barbaz,39`])); let count = 0; d3.csv(thisCsv, d3.autoType).then(data => { data.forEach(d => { if (d.age > 30) count++ }); console.log(count); }); </script>

Además, observe el d3.autoType : sin eso, sus números CSV serán cadenas , no números.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Si SOLO desea contar personas con edades superiores a 30:

 const process = data => { const ages = data.map(({Age}) => +Age) // make sure it is a number .filter(num => num > 30) .length console.log("Total ppl with age above 30:",ages) } // uncomment when you want to read a file // let mycsv = 'example.csv'; // d3.csv(mycsv) //.then(function(data) { process(data) //})
 <script src='https://d3js.org/d3.v7.min.js'></script> <script> const data = d3.csvParse(`PassengerId,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked 111,1,"Ken, Mr. James",male,34.5,0,0,330911,7.8292,,A 112,2,"Will, Mrs. James",female,47,1,0,363272,7,,B`); </script>

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