Python中如何正确格式化日期?CSV日期时间拆分报错排查
问题分析与解决
嘿,我一眼就看到你代码里的两个小问题啦,正是它们导致了这个格式匹配错误:
- 格式字符串开头多了个多余的
$符号!这个符号在你的输入字符串11/06/2017 17:59里根本不存在,所以解析时自然会报错说不匹配。 - 年份格式符用错了:你用的
%y是用来匹配两位年份(比如17)的,但你的输入是四位年份2017,这时候得用%Y才行。
另外你原代码里还有个变量名小问题:把解析后的datetime对象赋值给了Date,但后面又用oldDate来格式化,这会导致oldDate未定义的错误哦。
修正后的代码应该是这样的:
from datetime import datetime # 假设row['Date']的值是'11/06/2017 17:59' oldDate = datetime.strptime(row['Date'], '%m/%d/%Y %H:%M') Date = oldDate.strftime('%m/%d/%Y') Time = oldDate.strftime('%H:%M') # 测试输出 print(Date) # 会打印出 '11/06/2017' print(Time) # 会打印出 '17:59'
这样修改后,就能正确把datetime字符串拆分成日期和时间部分啦!
内容的提问来源于stack exchange,提问作者Daniel Clarke
相关产品推荐
相关产品推荐

