Я пишу лист excel. Я хочу написать заголовок (с именами столбцов) и данные (числа с плавающей запятой с 2 десятичными цифрами) с тем же сценарием.Openpyxl: записывать ячейки в другом формате
Для этого я использую этот кусок кода:
# Write the header
for i in xrange(len(header)):
sheet.cell(row=1,column=i+1).value = header[i]
# Write the data
for i in xrange(len(data)):
sheet.cell(row=2,column=i+1).style.number_format.format_code = '0.00E+00'
sheet.cell(row=2,column=i+1).value = float(data[i])
book.save(os.path.join(folder,'excelReport.xlsx'))
Это дает мне о исключением:
AttributeError: 'str' object has no attribute 'format_code'
Я не уверен на 100%, что я делаю неправильно здесь.
попытка напечатать 'sheet.cell (строку = 2, столбец = I + 1) .style.number_format' ли это строка? я не знаком с 'Openpyxl', но вы пытаетесь установить объект' format_code', который не существует, поскольку предыдущий объект является строкой. –
Я попытаюсь, но, насколько я понимаю, 'sheet.cell (row = 2, column = i + 1)' ничего. Я имею в виду, что это просто пустая ячейка, ожидающая контента, потому что ранее я создали лист 'sheet = book.create_sheet()' – codeKiller