Добавление процента в python - xlwt / pyexcelerator - PullRequest
1 голос
/ 06 июня 2010

просто быстрый вопрос, как добавить знак процента к числам без изменения числа. Я пробовал форматировать проценты с помощью myStyleFont.num_format_str = '0,00%', но он умножается на 100, но мне нужно просто добавить проценты.

Ты заранее.

Привет.

Ответы [ 3 ]

7 голосов
/ 30 мая 2012

Просто чтобы уточнить, вот пример форматирования числа в процентах в xlwt:

from xlwt import easyxf, Workbook
wb = Workbook()
ws = wb.add_sheet('Formatting Sheet')
style_percent = easyxf(num_format_str='0.00%')
ws.write(0, 5, 0.12, style_percent)

В ячейке Excel это отображается как '12,00%'.

4 голосов
/ 07 июня 2010

Обратите внимание: «изменение» и «умножение на 100» влияют на отображаемый результат, они не влияют ни на значение, сохраненное в файле, ни на значение, используемое в вычислениях по формуле.

Техника создания операторатрактуется как литерал и называется «экранированием».

Экранирующий символ в строках числового формата Excel является обратной косой чертой.

Чтобы сделать то, что вы хотите, ваш формат должен быть r"0.00\%" или "0.00\\%"

Выше приведено свойство Excel, не ограниченное Python или xlwt и т. Д. Это можно проверить с помощью одного из пользовательских интерфейсов (Excel, OpenOffice Calc, Gnumeric).

Обратите внимание, что если у вас нет ограниченного набора пользователей, которые будут читать и понимать документацию, которую вы будете писать [маловероятно * 3], вы не должны этого делать;это будет довольно странно - обычный пользователь Excel, увидев 5.00%, предполагает, что базовое число - 0.05.Чтобы увидеть это, в Excel и т. Д. Введите их в A1, A2, A3: 5%, затем .05, затем =A1=A2 ... вы увидите TRUE в A3.

pyExcelerator - это оставленная программа;почему вы упоминаете об этом ???

About myStyleFont.num_format_str = '0.00%' (1) "font" и "num_format_str" являются довольно независимыми компонентами стиля aka XF;имя вашей переменной "myStyleFont" сбито с толку.(2) Настроить XF, вставляя атрибуты в объекты, - старая шляпа в xlwt;используйте easyxf вместо.

0 голосов
/ 06 июня 2010

Числовой формат 00.0% рассчитывается в процентах, поэтому умножение на 100 для его отображения является правильным поведением. Чтобы получить желаемые результаты, вы можете либо поместить данные в ячейку в виде строки в любом формате, который вы выберете, либо разделить их на 100,0, прежде чем сохранить значение в ячейке.

...