Вопрос

Я пытаюсь написать несколько дат от одной электронной таблицы Excel к другому. В настоящее время я получаю представление в Excel, который не совсем то, что я хочу, например, как это: «40299.2501157407»

Я могу получить дату распечатывания штрафа в консоль, однако, похоже, не работает правильно, запись в электронную таблицу Excel - данные должны быть типа даты Excel, у меня не может быть текстовая версия.

Вот линия, которая читает дату в:

date_ccr = xldate_as_tuple(sheet_ccr.cell(row_ccr_index, 9).value, book_ccr.datemode)

Вот линия, которая пишет дату:

row.set_cell_date(11, datetime(*date_ccr))

Ничего не делается до Date_ccr между этими двумя линиями, кроме нескольких сравнений.

Есть идеи?

Это было полезно?

Решение

Вы можете написать номер с плавающей запятой напрямую на электронную таблицу и установить формат номера ячейки. Установите формат, используя num_format_str из XFStyle Объект, когда вы пишете значение.

https://secure.simplistix.co.uk/svn/xlwt/trunk/xlwt/doc/xlwt.html#xlwt.worksheet.write-method.

В следующем примере пишет дата 01-05-2010. (Также включает в себя время 06:00:10, но это скрыто форматом, выбранным в этом примере.)

import xlwt

# d can also be a datetime object
d = 40299.2501157407

wb = xlwt.Workbook()
sheet = wb.add_sheet('new')

style = xlwt.XFStyle()
style.num_format_str = 'DD-MM-YYYY'

sheet.write(5, 5, d, style)
wb.save('test_new.xls')

Существуют примеры числа форматов (num_formats.py) в папке примеров исходного кода XLWT. На моем Windows Machine: C: python26 lib сайт-пакеты xlwt примеры

Вы можете прочитать о том, как даты магазинов Excel (третий раздел на этой странице): https://secure.simplistix.co.uk/svn/xlrd/trunk/xlrd/doc/xlrd.html.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top