Я не могу комментировать. Как выглядит эта «очень длинная строка»? Я использовал этот код ниже, и он работал нормально для меня. Моя очень длинная строка была длиной 2970 символов.
table = [["Sun"*990 ,696000,1989100000],["Earth",6371,5973.6],
["Moon",1737,73.5],["Mars",3390,641.85]]
print(tabulate(table))
Обращение к комментариям. Да, это так, потому что в строке нет возвращаемых строк. Я предполагаю, что автор пакета не хотел произвольно добавлять возврат строки. Вы можете вставить свою собственную строку возврата и табулировать будет обрабатывать их. Вывод зависит от размера шрифта и ширины экрана. Если длина линии превышает ширину экрана, она переносится. Я думаю, это то, что вы подразумеваете под этим выглядит плохо. Вы можете вывести в файл и просмотреть его (обязательно отключите все функции переноса строк).
Вот пример того, как это сделать.
from tabulate import tabulate
from pathlib import Path
table = [["Sun"*990,696000,1989100000],["Earth",6371,5973.6],
["Moon",1737,73.5],["Mars",3390,641.85]]
file_output = Path('test.txt')
file_output.write_text(tabulate(table))