Найти - Пользователи
Полная версия: запись в xls файл с помощью xlwd
Начало » Python для новичков » запись в xls файл с помощью xlwd
1
diego
Доброго времени суток

Данный код должен записывать в файл значения списка main_mas
записывается всё без проблем, но при открытии файла формат ячейки почему то не выставляется сразу (необходимо сделать её активной а потом сделать неактивной)
скорее всего это связано с экселем но может ктонибудь знает как сделать так чтобы формат устанавливался сразу?
import xlwt
wb = xlwt.Workbook()
ws = wb.add_sheet('A Test Sheet')
style1 = xlwt.XFStyle()
style1.num_format_str = 'h:mm:ss'
k=0
while k<12:
ws.write(5+k, por, str(temp.r[1+k].hour)+":"+str(temp.r[1+k].minute)+":"+str(temp.r[1+k].second),style1)
k=k+1
wb.save(oo+'/example.xls')
pyuser
Зачем вам форматировать ячейки, если вы руками преобразуете данные в нужный формат?

какой тип данных у temp.r?

если элементы списка temp.r имеют тип datetime.datetime то записать данные в ячейку и установить форматирование:
ws.write(5+k, por, temp.r[k+1], style1)
diego
pyuser
Зачем вам форматировать ячейки, если вы руками преобразуете данные в нужный формат?

какой тип данных у temp.r?

если элементы списка temp.r имеют тип datetime.datetime то записать данные в ячейку и установить форматирование:
ws.write(5+k, por, temp.r[k+1], style1)
r это класс который содержит часы минуты и секунды, это не datetime

но тут вспомнил про функцию
datetime.strptime(str(main_mas[error_num].r[1+k].hour)+":"+str(main_mas[error_num].r[1+k].minute)+":"+str(main_mas[error_num].r[1+k].second),"%H:%M:%S")
но она преобразует ещё и дату прибавляет, как мне избавится от даты?

ну и тот глюк с форматом который не сразу показывается всё равно остаётся
diego
Переформулирую вопрос - есть строка “0:1:2”, как перевести её в формат “часы:минуты:секунды” (дата не нужна)( т.е. datetime.strptime не подходит)?
Борисенков Сергей
Мне все больше кажется, что гугл все-таки закрыли :)
tm=time.strptime('0:1:2','%H:%M:%S')
tm1=datetime.time(tm.tm_hour, tm.tm_min, tm.tm_sec)
print type(tm1) #<type 'datetime.time'>
print tm1 #00:01:02
diego
Борисенков Сергей
Мне все больше кажется, что гугл все-таки закрыли :)
tm=time.strptime('0:1:2','%H:%M:%S')
tm1=datetime.time(tm.tm_hour, tm.tm_min, tm.tm_sec)
print type(tm1) #<type 'datetime.time'>
print tm1 #00:01:02
Спасибо:)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB