Расширение моего комментария:
Вы никогда не сбрасываете col, прежде чем печатать новую строку.Но это яркий пример того, что не повторяйте себя - вместо того, чтобы писать почти идентичный код 4 раза, почему бы не использовать циклы?
Чтобы воспроизвести ваш вывод, вы можете использовать это как отправную точку:
for rowno, row in enumerate(table.split("\n")):
for colno, cell in enumerate(row.split("\t")):
print("Row: {}, Col: {}, Cell value: {}".format(rowno, colno, cell))
Это два вложенных цикла, которые перебирают входные данные при использовании enumerate
для автоматического подсчета соответствующей позиции.
Обратите внимание, что split
функция используется дважды: один раз для разделения на новые строки (\n
) для получения каждой строки, затем для разделения на вкладки (\t
) для каждой ячейки.
Поскольку это очень похоже наCSV-файл, также посмотрите на CSV-модуль .