Я думаю, что вы на правильном пути - и вот как это сделать:
import sys
result = sys.stdout
t = [[3, 1.2, 3.45, 6.789],
[863.202, 730.2, 833.67]]
for row in t:
fmtspec = '{:8.3f}' * len(row)
result.write(fmtspec.format(*row) + '\n')
Вывод:
3.000 1.200 3.450 6.789
863.202 730.200 833.670
Если все строки имеют одинаковую длину,вам нужно создать спецификацию форматирования только один раз:
t2 = [[3, 1.2, 3.45, 6.789],
[863.202, 730.2, 833.67, 23.1456]]
fmtspec = '{:8.3f}' * len(t2[0]) # Use length of first row.
for row in t2:
result.write(fmtspec.format(*row) + '\n')
3.000 1.200 3.450 6.789
863.202 730.200 833.670 23.146