Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 27, 2011 23:11:52

diego
От:
Зарегистрирован: 2010-09-14
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

запись в xls файл с помощью xlwd

Доброго времени суток

Данный код должен записывать в файл значения списка 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')



Офлайн

#2 Янв. 28, 2011 01:49:24

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

запись в xls файл с помощью xlwd

Зачем вам форматировать ячейки, если вы руками преобразуете данные в нужный формат?

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

если элементы списка temp.r имеют тип datetime.datetime то записать данные в ячейку и установить форматирование:

ws.write(5+k, por, temp.r[k+1], style1)



Офлайн

#3 Янв. 28, 2011 11:44:47

diego
От:
Зарегистрирован: 2010-09-14
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

запись в xls файл с помощью xlwd

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")
но она преобразует ещё и дату прибавляет, как мне избавится от даты?

ну и тот глюк с форматом который не сразу показывается всё равно остаётся



Офлайн

#4 Янв. 28, 2011 14:04:31

diego
От:
Зарегистрирован: 2010-09-14
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

запись в xls файл с помощью xlwd

Переформулирую вопрос - есть строка “0:1:2”, как перевести её в формат “часы:минуты:секунды” (дата не нужна)( т.е. datetime.strptime не подходит)?



Офлайн

#5 Янв. 28, 2011 14:20:34

Борисенков Сергей
От:
Зарегистрирован: 2011-01-11
Сообщения: 33
Репутация: +  0  -
Профиль   Отправить e-mail  

запись в xls файл с помощью xlwd

Мне все больше кажется, что гугл все-таки закрыли :)

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



Офлайн

#6 Янв. 29, 2011 05:44:10

diego
От:
Зарегистрирован: 2010-09-14
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

запись в xls файл с помощью xlwd

Борисенков Сергей
Мне все больше кажется, что гугл все-таки закрыли :)
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
Спасибо:)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version