Как преобразовать заданный порядковый номер (из Excel) в дату

У меня есть значение 38142 Мне нужно преобразовать его в формат даты с помощью python. если использовать этот номер в excel и сделать ячейку правого клика и форматирования в это время, значение будет преобразовано в 04/06/2004, и мне нужен тот же результат с использованием python. Как я могу достичь этого

Смещение в Excel с 1900/01/01; добавьте количество дней как timedelta:

 from datetime import date, timedelta def from_excel_ordinal(ordinal, _epoch=date(1900, 1, 1)): if ordinal > 59: ordinal -= 1 # Excel leap year bug, 1900 is not a leap year! return _epoch + timedelta(days=ordinal - 1) # epoch is day 1 

Мне пришлось корректировать порядковый номер на 2 для любой даты после 1900/02/28; Excel унаследовал ошибку високосного года от Lotus 1-2-3 и рассматривает 1900 как високосный год. Приведенный выше код возвращает date(1900, 2, 28) для 59 и 60 для исправления этого.

 from datetime import datetime, timedelta def from_excel_ordinal(ordinal, epoch=datetime(1900, 1, 1)): # Adapted from above, thanks to @Martijn Pieters if ordinal > 59: ordinal -= 1 # Excel leap year bug, 1900 is not a leap year! inDays = int(ordinal) frac = ordinal - inDays inSecs = int(round(frac * 86400.0)) return epoch + timedelta(days=inDays - 1, seconds=inSecs) # epoch is day 1 excelDT = 42548.75001 # Float representation of 27/06/2016 6:00:01 PM in Excel format pyDT = from_excel_ordinal(excelDT) 

Вышеупомянутый ответ подходит только для значения даты, но здесь я расширяю указанное выше решение, чтобы включить время и вернуть значения даты и времени.

  • Созданный файл xlsx удаляет письменную формулу
  • Измените файл excel на csv внутри скрипта python?
  • Удаление сетки из excel с использованием python (openpyxl)
  • openpyxl Значение выборки из excel и сохранения в паре значений ключа
  • Проблема Добавление значений, выведенных из нескольких таблиц excel в массив
  • openpyxl Настройка страницы «Подгонка к» против «Настроить на»
  • импортировать динамическую формулу в excel с использованием openpyxl
  • openpyxl, вызывающий потерю существующего DataValidation в excel
  • Как поместить цвет при написании листа excel. (Python)
  • Добавление таблиц Excel в конец рабочей книги
  • Загрузите существующий файл Excel, измените уровень масштабирования для всех листов и удалите сетки
  • Interesting Posts

    Мне нужна функция, которая является противоположной или инверсной для NETWORKDAYS в Excel

    Что влияет на значение по умолчанию для Textframe.Autosize?

    Используйте INDEX MATCH, чтобы найти значение больше или равно значению

    Excel VBA с использованием SUMPRODUCT и COUNTIFS – проблема скорости

    как загружать только файлы excel и csv в папку для загрузки

    Проверьте, не являются ли обязательные поля пустыми перед каждым сохранением макроса

    Функция VBA UBound

    excel копировать значение ячейки на новый лист, если столбец a = "x"

    (excel) Преобразование и подсчет beetwean 2 значения

    Попытка получить количество записей между определенными датами

    Python Win32, как сохранить XLS как CSV?

    Преобразование типов данных хранимой процедуры SQL Server в Excel

    Заполнение ячеек между определенными значениями

    Неполная отметка времени с использованием ADODB с VBA для Excel

    Обращение к динамическим именованным диапазонам в VBA

    Давайте будем гением компьютера.