我在 .XLS 文件中有以下格式的日期时间信息,例如 15-MAR-21 01.32.50.395000 PM
我需要将此时间戳转换为日期对象(并在新列中更新它)。如何从此日期时间对象中获取日期?
更新:这是我的解决方案
from datetime import datetime
datetime_str = '15-MAR-21 01.32.50.395000 PM'
datetime_object = datetime.strptime(datetime_str, '%d-%b-%y %H.%M.%S.%f %p')
print(type(datetime_object))
print(datetime_object) # printed in default format
print(datetime_object.date())
有更好的解决方案吗?
答案 0 :(得分:1)
您可以简单地导入日期时间库,然后为此使用 datetime.datetime.date() 方法
答案 1 :(得分:1)
假设您的文件名为 date_file.xlsx
并且包含日期的列名为 DATE
:
import pandas as pd
import datetime
df = pd.read_excel(
'date_file.xlsx',
converters={
'DATE': lambda x: datetime.datetime.strptime(x, '%d-%b-%y %I.%M.%S.%f %p').date()
},
engine='openpyxl',
)
DATE
的 df
列将包含所有转换后的日期。如果您更喜欢 datetime.datetime
对象,请从解析函数中删除 .date()
。
在您的示例中,15-MAR-21 01.32.50.395000 PM
将转换为 2021-03-15
,如果删除 .date()
,将转换为 2021-03-15 13:32:50.395
。