Вот правильный способ использования стиля, как вы и просили:
from openpyxl.styles import NamedStyle
date_style = NamedStyle(name='date_style',number_format='dd/mm/yy')
wb.add_named_style(date_style)
for row in ws8.iter_rows(min_col=21, max_col=21):
for cell in row:
cell.style = date_style
Разделение пространства - еще один способ сделать это:
import datetime
for row in ws.iter_rows(min_col=21, max_col=21):
for cell in row:
cell.value = datetime.datetime.strptime(cell.value.split()[0], '%Y-%m-%d').strftime('%m/%d/%y')
Значение ячейки будет разделен на пустое пространство на два значения, одно с индексом 0, другое с индексом 1. Вы хотите датировать часть, поэтому вы выберете [0]
. Затем, используя библиотеку datetime
, вы можете переформатировать дату следующим образом: sh.
Ввод:
2020-01-21 09:50:10.959355-05:00
Вывод:
01/21/20