Python Pandas DataFrame.to_excel错误的日期时间
鉴于这些数据Python Pandas DataFrame.to_excel错误的日期时间,python,excel,pandas,datetime,timezone,Python,Excel,Pandas,Datetime,Timezone,鉴于这些数据 将熊猫作为pd导入 dt1=pd.时间戳('2018-01-11 23:00:00') dt2=pd.时间戳('2018-01-12 01:00:00') ts=pd.日期范围(dt1、dt2,频率为15分钟,tz为欧洲/维也纳) 值=列表(范围(ts.shape[0])) df=pd.DataFrame(值,索引=ts) 其中生成的df如下所示 0 2018-01-11 23:00:00+01:00 0 2018-01-1
将熊猫作为pd导入
dt1=pd.时间戳('2018-01-11 23:00:00')
dt2=pd.时间戳('2018-01-12 01:00:00')
ts=pd.日期范围(dt1、dt2,频率为15分钟,tz为欧洲/维也纳)
值=列表(范围(ts.shape[0]))
df=pd.DataFrame(值,索引=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
。现在使用Excel时,可能会有语言设置和显示选项相互干扰,但也许我的Pandas用法已经错了
操作系统语言设置为美国英语,没有Excel特定设置。Pandas版本是
0.23.0
,Python 3.6Excel不支持日期时间中的时区。将datetime/time对象中的tzinfo设置为None或使用“remove_timezone”
ts = pd.date_range(dt1, dt2, freq='15Min')
我得到这个错误(完全回溯):
你是如何用你的代码得到一些东西的?这就是我使用的:
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.to_excel('test.xlsx')
print ("ready")
如果我删除,tz='Europe/Vienna'
,那么它就可以正常工作了:
在Python中,使用print(df)
,我得到了相同的结果:
您的openpyxl版本是什么?或者你的异常是在熊猫中抛出的?完全回溯FTW@phaebz-如何检查?导入openpyxl;openpyxl.\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。