2016-09-22 5 views
1

Я пытаюсь сохранить даты в существующей книге Excel с помощью openpyxl, но они не отформатированы правильно в ячейках при открытии книги.Как правильно форматировать даты с помощью openpyxl?

Даты форматируются в виде списка, как например: mylist = ["09/01/2016","01/29/2016"]

Клетки, в которых даты сохраняются отформатированы в книге как дата «* м/д/гггг». При просмотре книги, даты обычно отображаются в следующем формате: 9/1/2016 1/29/2016

Используя этот код на Python:

SheetName.cell(row=2,column=1).value = mylist[0] 

вставляет дату, отформатированную в 09/01/2016 и представляется форматированным в виде текста (по левому краю).

Если вы нажмете на ячейку, содержащую дату, затем щелкните на панели формул, затем нажмите Enter, форматы Excel и отобразите дату как 9/1/2016 (с выравниванием по правому краю).

Я мог потратить время на переписывание кода, чтобы лишить ведущие нули из месяца и дня, но это не повлияло бы на проблему форматирования в Excel.

Есть ли способ управлять форматированием ячейки, когда дата добавляется в ячейку?

+1

Пожалуйста, предоставьте часть своего кода и какую часть документации вы не понимаете. –

ответ

2

openpyxl поддерживает datetime объекты, которые обеспечивают удобный способ преобразования из строки.

import datetime 
for i in len(mylist): 
    dttm = datetime.datetime.strptime(mylist[i], "%m/%d/%Y") 
    SheetName.cell(row=i,column=1).value = dttm 
Смежные вопросы