我正在转换从.CSV文件中作为字符串给出的时间戳。它采用以下格式:
2016-06-06T09:30:00.000856632-04:00
当我使用.to_datetime()
将其转换为日期对象时,它会抵消UTC时间。在这个例子中,上午9:30变为下午1:30:
2016-06-06 13:30:00.000856632
我阅读了函数和思想设置UTC = False的文档,因为参数可以解决这个问题,但它只是将时间偏移了不同的数量。
答案 0 :(得分:2)
该字符串有-4小时的偏移量。转换前删除:
>>> pd.to_datetime("2016-06-06T09:30:00.000856632-04:00"[:-6])
Timestamp('2016-06-06 09:30:00.000856632')
答案 1 :(得分:1)
您可以在转换后使用timedelta
减去4小时的偏移量:
import datetime
import pandas as pd
pd.to_datetime("2016-06-06T09:30:00.000856632-04:00") + datetime.timedelta(hours = -4)
# Timestamp('2016-06-06 09:30:00.000856632')
答案 2 :(得分:0)
Pandas .to_datetime()
有一个格式参数。
格式:字符串,默认无
strftime要解析时间,例如“%d /%m /%Y”,请注意“%f”将一直解析到纳秒。
.to_datetime(format="%d/%m/%Y")
将产生
&#39 11/03/2016'
format
遵循.strftime()
中使用的相同Python datetime
格式。有关时间格式参数的完整列表,see this reference。