Python читает строки из сегментов / кусков файла - PullRequest
0 голосов
/ 05 ноября 2018

Я пытаюсь реализовать Двухходовую сортировку с множественным слиянием в Python.
До сих пор я реализовал Pass 1, и у меня возникли проблемы с реализацией Pass 2.

Вот структура файла для чтения (tab separated data):

name    ssn gender  job company address
Alicia Best 201-30-5041 F   Tree surgeon    Griffin, Vasquez and Hunt   932 Ryan Turnpike Suite 686East Roger, MD 56628
Cameron Scott   700-12-6740 M   Financial adviser   Griffith-Sosa   1733 Scott PineEast Matthew, ID 20677
William Novak   054-78-8142 M   Music therapist Williams LLC    648 Ballard Courts Suite 214Taylorhaven, CA 45271
Paul Hodges 875-49-7490 M   Advertising art director    Ward, Salas and Malone  15382 Roger VillageSouth Cody, IA 41827
VincTannerent Ramirez   569-99-2727 M   Theatre stage manager   Price, White and Black  76567 Phillips LoafEast William, DE 32235
Kellie Pacheco  300-77-5182 F   Doctor, hospital    Miller Inc  9789 Sullivan CornersSouth Deniseshire, MD 16612
...
...
...

Я сохранил результат Pass 1 в отдельной файловой структуре, как показано ниже:

name    ssn gender  job company address
Adam Duke   740-34-2566 M   Diplomatic Services operational officer King, Jones and Castillo    178 Robert LoopWhitechester, MT 97087
Adam Morris 840-49-4963 M   Neurosurgeon    Knight Group    1104 Laura StationKarenshire, OR 86801
Alan Sanchez    688-73-4197 M   Environmental education officer Thomas Inc  PSC 2324, Box 9034APO AE 08323
...
... after N lines
...
Yolanda Ramirez 859-41-4401 F   Biomedical engineer Lynn-Brock  498 
Gutierrez Oval Suite 867South Clifford, OH 10700
Albert Reyes    025-28-1361 M   Engineer, energy    Nolan, Vazquez and Jordan   4096 Elizabeth PlazaLake Timothy, RI 12215
Alex Escobar    018-96-9641 M   Glass blower/designer   Flowers, Li and Smith   251 Mcpherson MotorwaySchmidtfort, FM 43628
Alexander Flores    648-01-7451 M   Engineer, maintenance   Munoz, Tucker and Freeman   0743 Vanessa FortJonesview, GA 57871
Alexander Kramer    061-08-3051 M   Designer, ceramics/pottery  Johnson-Peterson    800 Kristen VillageStewartton, MA 57143

Для тестирования я рассмотрел разделение фрагментов на 100 строк и отсортировал эти данные внутренне с атрибутом (может быть именем или полом или другим допустимым атрибутом)

Для pass 2 Мне нужно прочитать строку 1, 101, 201.... и выбрать подходящий результат среди этих строк.
Скажем, если я выбираю строку 101, то на следующей итерации мне нужно прочитать строки 1, 102, 201....

Так что мне просто сложно понять, как мне выполнить вышеупомянутые два шага для эффективной итерации по файлу?

  • Я открыт для любых предложений, таких как хранение кусков в другом файле, а не в отдельном файле или любым другим способом.

  • ссылка для завершения кода

Я также упомянул ниже темы:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...