Форматирование чисел с помощью openpyxl

Пишу программу для парсинга всех балансов на одном сайте и затем запись их в файл xlsx. Но после записи имею ошибку, число сохранено как текст. Помогите, пожалуйста, разобраться, как форматировать текст. Код, который я пробую:

def write_to_table(ids, balances):
    salary = load_workbook('salary.xlsx')
    ws = salary.active
    for row in range(0, len(ids)):
        cell_name = 'A{}'.format(row + 1)
        ws[cell_name] = ids[row]
        cell_name = 'B{}'.format(row + 1)
        ws[cell_name] = balances[row]
        ws[cell_name].number_format = '0.00'
        
    salary.save('salary.xlsx')

Приходят числа вроде 5.65 или -50.00 и нужно, чтобы Excel понял, что это числа. Так понимаю, проблема в этой строке:

ws[cell_name].number_format = '0.00'

Прошу вашей помощи.


Ответы (1 шт):

Автор решения: Max

Просто конвертируй их с помощью float():

ws[cell_name].number_format = float('0.00')
→ Ссылка