#python #excel #formatting #decimal
#python #excel #форматирование #десятичный
Вопрос:
Я хотел бы отформатировать числа в экспорте Excel с 2 десятичными знаками, но только для просмотра, и сохранить исходные значения позади, как на картинке, число будет отображаться с двумя десятичными знаками, но при нажатии на ячейку будет показано целое значение. Я использовал XlsxWriter и add_format, и он форматируется с 2 десятичными знаками, но не сохраняет исходные значения. Может кто-нибудь подсказать, как это можно сделать и возможно ли это?
Пример изображения в Excel:
Ответ №1:
Я использовал XlsxWriter и add_format, и он форматируется с 2 десятичными знаками, но не сохраняет исходные значения.
Этого не может быть. XlsxWriter никак не усекает числа, которые он обрабатывает, кроме форматирования их %.16G
так же, как это делает Excel.
Например:
import xlsxwriter
workbook = xlsxwriter.Workbook('test.xlsx')
worksheet = workbook.add_worksheet()
my_format = workbook.add_format({'num_format': '0.00'})
worksheet.write(0, 0, 29.159573953, my_format)
workbook.close()
Вывод:
Как вы можете видеть, полное число отображается в строке формул.
Комментарии:
1. Я пытаюсь написать фрейм данных, и я использовал приведенный ниже код:
format1 = workbook.add_format({'num_format': '#,##0.00'}) worksheet.set_column('U:AC',18, format1)
также:df.to_excel(writer, sheet_name="ABC", startrow=4, startcol= 3, float_format="%.2f")
и результат является первым изображением, которое я опубликовал.2. Вам нужно вставить этот код в вопрос. Однако, похоже
float_format="%.2f"
, что в Pandasdf.to_excel()
усекаются числа с плавающей запятой. Оставьте это, и вы должны получить желаемый результат.