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

117
Views
Cuente cuántas apariciones de una palabra hay en un archivo CSV

Tengo un archivo csv con datos como este

 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 and so on

Quiero contar cuántos de estos nombres en el archivo csv incluyen Sr. y Sra. y otros

y usando la columna 'sexo' quiero imprimir el número de pasajeros masculinos y femeninos.

He intentado esto, pero solo imprime cada línea con 0 para la Sra. y 1 para el Sr. en lugar de darme el conteo de Nombres con el Sr.

No sé cómo recorrer los datos csv, alguien puede agregar la parte del código para eso. Gracias.

 <script src='https://d3js.org/d3.v7.min.js'></script> <script> let mycsv = ' some file name'; d3.csv(mycsv, function(data) { let count = 0; var theWord = "Mr"; if (data.Name.includes(theWord)) { count++; } console.log(count); }); </script>
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

  1. Necesitas then desde la versión 5+

     let mycsv = 'example.csv'; d3.csv(mycsv) .then(function(data) { /* process data */ })
  2. Necesitas hacer un bucle.

Eso se puede hacer con un reduce :

https://plungjan.name/SO/d3csv/

 const process = data => { const counts = data.reduce((acc, { Name, Sex, Age }) => { acc.mr += Name.toLowerCase().includes("mr."); acc.mrs += Name.toLowerCase().includes("mrs."); acc.male += Sex.toLowerCase() === "male"; acc.female += Sex.toLowerCase() === "female"; acc.age += +Age return acc; }, { mr: 0, mrs: 0, male: 0, female: 0, age: 0 }); console.log("Total age",counts.age) Object.entries(counts).forEach(([key,val]) => document.getElementById(key).textContent = val) } // 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> Mr: <span id="mr"></span><br/> Mrs: <span id="mrs"></span><br/> Male: <span id="male"></span><br/> Female: <span id="female"></span><br/> Sum of Ages <span id="age"></span><br/>

Si SOLO desea contar personas con una edad superior 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 of 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!