Очень нужна помощь с датами и строками при работе с Excel

Ryssine

Новичок
Пользователь
Фев 27, 2021
6
0
1
Как изменить формат даты в openpyxl?
Пишу для работы универсальный шаблонизатор. И встрял с датами. Скрипт открывает произвольный файл xlsx, и вставляет данные из таблицы в Word. Но там где попадаются в excel столбцы с датами, python воспринимает его тип как datetime.datetime (Y-m-d H:M:S) , а не str (как мне нужно). Как сделать так, чтобы формат даты на выходе был хотя бы %d.%m.%Y.
Как я понял в openpyxl по умолчанию datetime - ISO
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 618
469
83
strftime() ?
 

Ryssine

Новичок
Пользователь
Фев 27, 2021
6
0
1
Наверное... Я пробовал, но наверное так загнался что уже совсем не понимаю правильно ли я копают. strfrime читал мануал но походу я не справляюсь пока. Я новичок в питон, и решил шаблонизатор сделать. Работает, но не могу ничего с форматом дат при чтении сделать
 

Ryssine

Новичок
Пользователь
Фев 27, 2021
6
0
1
Наверное... Я пробовал, но наверное так загнался что уже совсем не понимаю правильно ли я копают. strfrime читал мануал но походу я не справляюсь пока. Я новичок в питон, и решил шаблонизатор сделать. Работает, но не могу ничего с форматом дат при чтении сделать
Вот и ищу помощи в конкретном примере)
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 618
469
83
напишите пример даты
 

Ryssine

Новичок
Пользователь
Фев 27, 2021
6
0
1
напишите пример даты
В таблице %d.%m.%Y и нужен такой же на выходе...
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 618
469
83
во первых код надо выкладывать не так как задать вопрос
во вторых - мне ваш код не нужен, напишите какая дата у вас в екселе просто, я вам дам пример, как ее преобразовать в строку, дальше сами разберетесь...
без файла ексель ваш код для меня бесполезен...
 

Ryssine

Новичок
Пользователь
Фев 27, 2021
6
0
1
во первых код надо выкладывать не так как задать вопрос
во вторых - мне ваш код не нужен, напишите какая дата у вас в екселе просто, я вам дам пример, как ее преобразовать в строку, дальше сами разберетесь...
без файла ексель ваш код для меня бесполезен...
Я понял. Извиняюсь. Дата любая в формате например 01.01.1990
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 618
469
83
как то так, если я правильно все понял...
Python:
from datetime import datetime as dt

a = '01.01.1990'  # просто строка

b = dt.strptime(a, '%d.%m.%Y')  # преобразуем в дату

c = dt.strftime(b, '%d.%m.%Y')  # преобразуем дату по шаблону в строку

print(c)  # печатаем строку с
print(type(c))  # печатаем тип переменой с, и там видно, что это строка
 

Ryssine

Новичок
Пользователь
Фев 27, 2021
6
0
1
как то так, если я правильно все понял...
Python:
from datetime import datetime as dt

a = '01.01.1990'  # просто строка

b = dt.strptime(a, '%d.%m.%Y')  # преобразуем в дату

c = dt.strftime(b, '%d.%m.%Y')  # преобразуем дату по шаблону в строку

print(c)  # печатаем строку с
print(type(c))  # печатаем тип переменой с, и там видно, что это строка
Спасибо большое!!! Буду дальше разбираться!еще раз спасибо за помощь!
 

Форум IT Специалистов