我正在使用Pandas中的Excel文件,我试图处理 日期列,其中日期以ISO 8601格式列出。我想把这个列存储在两个不同的日期和时间中列。的这两列中的值需要存储在Eastern Daylight Savings中。这就是他们应该看起来的样子
Date Date (New) Time (New)
1999-01-01T00:00:29.75 12/31/1998 6:59:58 PM
1999-01-01T00:00:30.00 12/31/1998 6:59:59 PM
1999-01-01T00:00:32.25 12/31/1998 7:00:00 PM
1999-01-01T00:00:30.50 12/31/1998 6:59:58 PM
我已经部分地实现了这一点。 我已将值转换为东方夏令时,并成功地正确存储了日期值。但是,我希望时间值以12小时格式存储,而不是像现在这样以24小时格式存储?在
这就是目前为止我的输出结果。在
^{pr2}$有人知道我能做些什么吗?在
from pytz import timezone
import dateutil.parser
from pytz import UTC
import datetime as dt
df3['Day']=pd.to_datetime(df['Date'], format='%Y-%m-%d %H:%M: %S.%f',errors='coerce').dt.tz_localize('UTC')
df3['Day']= df3['Day'].dt.tz_convert('US/Eastern')
df3['Date(New)'], df3['Time(New)'] = zip(*[(d.date(), d.time()) for d in df3['Day']])
看起来你很亲近。%H是24小时制。你应该改用%I。在
How can I account for period (AM/PM) with datetime.strptime?
您可以设置用于输出的时间格式-时间值本身存储为
datetime.time()
-如果需要特定的字符串表示形式,则可以使用所需格式创建字符串类型列:输出:
^{pr2}$您应该使用
d.time().strftime("%I:%M:%S %p")
,它将根据请求格式化日期。在strftime() and strptime() Behavior
相关问题 更多 >
编程相关推荐