Похоже, вы итерируете теперь пустой генератор.
Я имею в виду, что после того, как вы один раз итерировали свой генератор, он опустошается, и повторение его снова ничего не даст:
>>> def some_generator():
... yield 1
... yield 2
... yield 3
...
>>> generator = some_generator()
>>> for g in generator:
... print(g)
...
1
2
3
>>> for g in generator:
... print(g)
...
Есть два пути вокруг этого: либо сохранить результат генератора в списке, чтобы вы могли повторять список несколько раз (потребляет память), либо воссоздать генератор (использует ввод-вывод при чтении файла).
То есть:
>>> for g in some_generator():
... print(g)
...
1
2
3
>>> for g in some_generator():
... print(g)
...
1
2
3
или:
>>> values = list(some_generator())
>>> for g in values:
... print(g)
...
1
2
3
>>> for g in values:
... print(g)
...
1
2
3