Подскажите как записать список из дат в excel книгу после выполнения этого кода.
Т.е. например в книгу1 на лист1 в столбецД с первой по 145 ячейки.
не получается такой цикл написать для дат.
Конвертировать в str не получается. Записать построчно через цикл for - тоже.
Спасибо! from datetime import datetime, date, time
from dateutil.relativedelta import relativedelta
import xlrd, xlwt
wb = xlrd.open_workbook('Workbook.xls', encoding_override ="cp1251") # открываю книгу
ws = wb.sheet_by_name('Лист1') # выбираю лист по названию
datas = ws.cell_value(0, 0) # выбираю колонку с датами
datetime_value = datetime(*xlrd.xldate_as_tuple(datas, 0))
datr = datetime_value.date()
wb2 = xlwt.Workbook('Workbook.xls') # вот этот момент не очень понимаю, но без него не работает
# наверное это из-за того что в первом случае работает xlrd, а во втором xlwt
ws2 = wb2.add_sheet("Pi", cell_overwrite_ok=True)
for row_index in range(ws.nrows): # здесь по условиям прибавляется возраст к дате рождения
dateq = ws.row(row_index)[0].value
datetime_value2 = datetime(*xlrd.xldate_as_tuple(dateq, 0))
datr2 = datetime_value2.date()
sex = ws.row(row_index)[1].value
if ws.row(row_index)[1].value == 'male':
if datr2 <= date(1956, 12, 31):
datr2 += relativedelta(years=60)
if ws.row(row_index)[1].value == "female":
if datr2 <= date(1961, 12, 31):
datr2 += relativedelta(years=55)
print(datr2.strftime('%d.%m.%Y'))
i = 1
style1 = xlwt.easyxf(num_format_str='DD.MM.YYYY')
ws2.write(i, 2, datr2, style1)
i =+ i
print("The End")
wb2.save('write_only_file.xls')
В консоль код выводит полный список измененных дат, но вот в файл пишет только последнее значение.