Форум сайта python.su
Всем доброго!
Помогите разобраться.
Проблема в следующем, беру из таблицы базы данных при помощи pyodbc данные в формате Дата на экран выводятся нормально в виде “YYYY-mm-dd”, когда их закидываю в xls-файл и затем открываю их в OpenOffice дата превращается в число примерно такого типа 40020. Затем решил преобразовать дату с помощью strftime следующим образом time.strftime(“%d.%m.Y”, k). На что компилятор выдает ошибку:
TypeError: argument must be 9-item sequence, not datetime.date
Извечный вопрос “что делать” чтобы можно было воспроизводить в файле xls дату в нормальном виде?
Офлайн
pyodbc возвращает дату как объект datetime.date, у которого тоже есть метод strftime
можно просто указать стиль ячейки и писать значение как есть, т.е. как объект datetime.date
style = xlwt.XFStyle()
style.num_format_str = "YY/DD/MM"
Офлайн
Спасибо, все получилось!
Офлайн
Возникла еще одна проблема, теперь нужно действительно преобразовывать дату перед тем как вставить ее в xls-файл, но что-то не пойму как это сделать? У datetime.datetime.strftime(“%d.%m.%Y”) только один параметр.
Офлайн
Cover StoryА сколько должно быть?!
Возникла еще одна проблема, теперь нужно действительно преобразовывать дату перед тем как вставить ее в xls-файл, но что-то не пойму как это сделать? У datetime.datetime.strftime(“%d.%m.%Y”) только один параметр.
Офлайн
Выше я писал. Строку time.strftime(“%d.%m.Y”, k), но вы говорите, что данная переменная относится к datetime.date, а не к time. Так вот мне нужно для переменой k изменить формат. Но я что-то не допру как это сделать.
Офлайн
k - это обьект типа datetime.date, про это написано в ошибке.
datetime.date имеет метод strftime, так что тебе надо просто сделать k.strftime(“%d.%m.Y”).
P.S. скорее даже так k.strftime(“%d.%m.%Y”)
Отредактировано (Июль 30, 2009 16:31:11)
Офлайн
И все же я думаю, что гораздо проще рулить стилем ячеек :)
Офлайн
О, спасибо!
Офлайн