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

253
Views
Segmentar archivos de texto grandes y turnos rotativos para elementos en cada segmento

Tengo un tipo de archivo txt muy grande de '{some_string}|{repeated_value}', más de 50 millones de líneas.

 2312|dog 4214215|cat 42141241|dog fasfsa|cat 4214214|bird 42142141|cat fasfsa|bird fsafasf|dog 421jdsa|tiger

Necesito segmentar por su valor después de "|" símbolo. Algo como esto.

 2312|dog 42141241|dog fsafasf|dog 4214215|cat fasfsa|cat 42142141|cat 4214214|bird fasfsa|bird 42jdsa|tiger

Problema: es necesario tomar uno o n elementos de cada segmento y alimentarlos para que funcionen hasta que haya 0 elementos en cada segmento. (Round Robin)

Ejemplo de pitón:

 #Segmented lines dog = ['2312|dog', '42141241|dog', 'fsafasf|dog', 'dsafas|dog'] cat = ['4214215|cat', 'fasfsa|cat', '42142141|cat'] bird = ['4214214|bird', '4214214|bird'] tiger = ['442jssa|tiger'] animals = [dog, cat, bird, tiger] # Round Robin while len(animals): animal_list = animals.pop(0) if len(animal_list) == 0: continue line = animal_list.pop(0) print(line) animals.append(animal_list)

Ejemplo JS:

 const dog = ['2312|dog', '42141241|dog', 'fsafasf|dog', 'dsafas|dog'] const cat = ['4214215|cat', 'fasfsa|cat', '42142141|cat'] const bird = ['4214214|bird', '4214214|bird'] const tiger = ['442jssa|tiger'] const animals = [dog, cat, bird, tiger] // Round Robin while (animals.length) { let animal_list = animals.pop(0) if (animal_list.length == 0) { continue } let line = animal_list.pop(0) console.log(line) animals.push(animal_list) }

Producción:

 2312|dog 4214215|cat 4214214|bird 442jssa|tiger 42141241|dog fasfsa|cat 4214214|bird fsafasf|dog 42142141|cat dsafas|dog

No puedo cargar todas las líneas en la memoria, hay miles de "animales".

Se me ocurrió una sola solución, leer el archivo línea por línea, para cada animal crear una tabla en db. Cree un trabajador que llene la lista de "animales" cuando len < LIMIT e implemente round robin. ¿Alguna otra solución?

about 4 years ago · Juan Pablo Isaza
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!