Учитывая эти данные
import pandas as pd
dt1 = pd.Timestamp('2018-01-11 23:00:00')
dt2 = pd.Timestamp('2018-01-12 01:00:00')
ts = pd.date_range(dt1, dt2, freq='15Min', tz='Europe/Vienna')
values = list(range(ts.shape[0]))
df = pd.DataFrame(values, index=ts)
, где результирующее df
выглядит как
0
2018-01-11 23:00:00+01:00 0
2018-01-11 23:15:00+01:00 1
2018-01-11 23:30:00+01:00 2
2018-01-11 23:45:00+01:00 3
2018-01-12 00:00:00+01:00 4
2018-01-12 00:15:00+01:00 5
2018-01-12 00:30:00+01:00 6
2018-01-12 00:45:00+01:00 7
2018-01-12 01:00:00+01:00 8
выполнение
df.to_excel('test.xlsx')
приводит к следующему в Excel 2013
2018-01-11 22:00:00 0
2018-01-11 22:15:00 1
2018-01-11 22:30:00 2
2018-01-11 22:45:00 3
2018-01-12 23:00:00 4
2018-01-12 23:15:00 5
2018-01-12 23:30:00 6
2018-01-12 23:45:00 7
2018-01-12 00:00:00 8
, то есть дата и время отображаются в формате UTC, но в полночь по местному времени день неправильный, т.е. 2018-01-12 23:00:00
, когда должно быть 2018-01-11 23:00:00
.Теперь в Excel могут быть языковые настройки и параметры отображения, которые мешают, но, может быть, мое использование Pandas уже неверно?
Язык операционной системы установлен на американский английский и никаких специфических настроек для Excel.Версия для Pandas 0.23.0
, Python 3.6