Даты Excel - это не дни с 1970 года, а дни с 30 декабря 1899 года.(Возможно, вы думаете о метках времени Posix, которые являются секундами с 1 января 1970 года.)
Excel сообщает, что 1-й день - 1 января 1900 года (что подразумевает эпоху 31 декабря 1899 года), ноВ Excel также считают, что 1900 год был високосным, а этого не было, поэтому счет в Excel для дат с 1 января 1900 года по 28 февраля 1900 года не учитывается.
Такое поведение является преднамеренным.В первые дни, Excel конкурировал с лидером рынка, Lotus 1-2-3, который также думал, что 1900 год был високосным, и к тому времени, когда люди начали беспокоиться об этом, это считалось слишком разрушительным, чтобы его исправить.
Вы можете конвертировать даты Excel в Python datetime
s, которые pandas
будут понимать следующим образом:
>>> import datetime
>>> datetime.datetime(1899,12,30) + datetime.timedelta(days=42794.741667)
datetime.datetime(2017, 2, 28, 17, 48, 0, 28800)
Если вы вставите 42794.741667 в пустую электронную таблицу Excel и отформатируете ее как дату,Вы можете подтвердить преобразование.