2013-04-14 2 views
2

Я сохраняю некоторые данные с помощью numpy.savetxt(path,array,fmt="%.2f %.2f %.2f %.2f %.2f") и хочу, чтобы текстовый файл был хорошо сформирован. Я хотел бы ограничить поплавки определенное количество цифр, например:Форматирование форматирования Python: фиксированное общее количество цифр

11.2345 -> 11.2 
1.2345 -> 1.23 

В настоящее время я получаю:

11.2345 -> 11.23 
1.2345 -> 1.23 

Это разрушает расположение текстового файла.

Я знаю, что на SO есть несколько подобных вопросов, однако я не смог применить ни одно из решений к numpy.savetxt().

ответ

4

Попробуйте использовать fmt="%9.2f". Мне кажется, это дает хорошие результаты для меня:

25.72 433.54 135.69 898.93 
    177.46 120.65 954.13 480.82 
    963.45 774.35 289.08  93.64 
+0

Я уже пробовал это и думал, что он не работает. Однако я только что заметил, что это потому, что впереди были некоторые длинные целые числа, которые вызвали сдвиг. Я все равно хотел бы знать, можно ли исправить общее количество цифр. Например, в вашем случае Ч, вместо 25.72, чтобы получить 25.720. – Sasha

+1

Да, вам просто нужно выбрать достаточно большое количество до точки. Надеюсь, это не проблема сама по себе? Если вы хотите 25.720, просто используйте «% 9.3f». –

+0

И что будет, если бы я печатал 1234.567? будет ли он снижен до 1234,5? Просто уточните: ваше решение исправляет проблему с формированием. Однако, поскольку одна строка содержит в общей сложности более 40 поплавков и 5 целых чисел, чем больше пробелов я добавляю, чтобы сделать форматирование безопасным, тем труднее файл читать в формате 1920x1080. В настоящее время, с% 5.2f, мне нужно прокрутить, чтобы увидеть всю строку. % 4.2f соединяет некоторые числа. – Sasha

Смежные вопросы