Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

184
Views
¿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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!