Excel上传后日期类型出现问题(将时间戳转换为日期时间)

时间:2020-08-19 13:12:01

标签: python excel dataframe datetime timestamp

我在excel中有数据,一张纸的日期作为列,另一张的日期作为行。使用pd.read_excel将它们作为数据帧获取。一个(Data1)的类型为datetime.datetime,另一个(Data2)的类型为timestamp。

  1. 如何防止这种情况发生并获得统一的类型?

我想做

Data1[Data1.index<Data2.columns[-1]]

这将返回错误

TypeError:“ datetime.time”和 “时间戳记”

我尝试做

datetime(Data2.columns[-1].year,Data2.columns[-1].month,Data2.columns[-1].day) 

代替

Data2.columns[-1]

错误更改为

TypeError:“ datetime.time”和 'datetime.datetime'

  1. 我迷路了,如何获得匹配的类型?凭空想出这个datetime.time是什么类型。

编辑

这似乎是问题的症结所在

Data1[Data1.index<Data1.index[3]]

返回

TypeError:“ datetime.time”实例与 'datetime.datetime'

Data1.index的数据类型为datetime.time。

1 个答案:

答案 0 :(得分:1)

确保将苹果与苹果进行比较。比较完整的日期时间(日期和时间部分)或仅比较其中之一。例如:

from datetime import datetime, timedelta
import pandas as pd

# date and time:
pd.Timestamp('now') >= datetime.now() + timedelta(hours=1)
# False

# time only:
pd.Timestamp('now').time() >= (datetime.now() + timedelta(hours=1)).time()
# False

# date only:
pd.Timestamp('now').date() >= (datetime.now() + timedelta(hours=1)).date()
# True

与例如

相对
pd.Timestamp('now').time() >= (datetime.now() + timedelta(hours=1))

...将抛出

TypeError:“> date”和“ datetime.time”实例之间不支持 'datetime.datetime'