Python 如何从datetime获取日期?
我在.XLS文件中有以下格式的日期时间信息,例如。 3月15日至21日01.32.50.395000下午 我需要将这个时间戳转换为日期对象(并在新列中更新它)。如何从这个datetime对象获取日期 更新:这是我的解决方案Python 如何从datetime获取日期?,python,date,xls,python-datetime,Python,Date,Xls,Python Datetime,我在.XLS文件中有以下格式的日期时间信息,例如。 3月15日至21日01.32.50.395000下午 我需要将这个时间戳转换为日期对象(并在新列中更新它)。如何从这个datetime对象获取日期 更新:这是我的解决方案 from datetime import datetime datetime_str = '15-MAR-21 01.32.50.395000 PM' datetime_object = datetime.strptime(datetime_str, '%d-%b-%y
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())
有更好的解决方案吗?您可以简单地导入datetime库,然后使用datetime.datetime.date()方法执行此操作,前提是您的文件名为
date\u file.xlsx
,并且包含日期的列名为date
:
将熊猫作为pd导入
导入日期时间
df=pd.read\u excel(
“date_file.xlsx”,
转换器={
“日期”:lambda x:datetime.datetime.strtime(x,“%d-%b-%y%I.%M.%S.%f%p”).DATE()
},
engine='openpyxl',
)
df
的DATE
列将包含所有转换的日期。如果您喜欢使用datetime.datetime
对象,请从解析函数中删除.date()
在您的示例中,
15-MAR-21 01.32.50.395000 PM
将转换为2021-03-15
,如果删除.date()
,则将转换为2021-03-15 13:32:50.395
,阅读datetime.strTime文档,这些文档告诉您如何执行此操作。如果您有问题,请在此处发布您如何尝试使用它。@576谢谢您的输入,我刚刚发布了一个解决方案。请您看看您有什么是最好的解决方案。要分析的字符串中有一个错误datetime\u str
:您应该用%I
更改%H
,假设您使用的是AM
和PM
。但是,这不应影响date()
的结果;您的代码段在导入时转换(并且不更新xls文件)