在Databricks中如何转换不同长度的字符串为日期?
可变长度日期字符串标准化转换方案
Python 实现方式
用datetime模块的strptime解析可变长度的输入,再用strftime输出目标格式即可,无需纠结输入的月/日是一位还是两位。
- 解析规则:
%m/%d/%y—— 自动兼容一位/两位的月、日,两位年份默认补全为20xx(若需自定义年份映射,可额外处理) - 输出规则:
- 若要
MM/DD/YYYY格式(如11/08/2016):用%m/%d/%Y - 若要
月份全称/DD/YYYY格式(如November/08/2016):用%B/%d/%Y
- 若要
示例代码:
from datetime import datetime date_list = ["11/8/16", "1/27/16"] for date_str in date_list: parsed = datetime.strptime(date_str, "%m/%d/%y") # 输出两位月/日+四位年的标准格式 print(parsed.strftime("%m/%d/%Y")) # 输出带月份名称的格式(可选) print(parsed.strftime("%B/%d/%Y"))
执行后输出:
11/08/2016 November/08/2016 01/27/2016 January/27/2016
Excel 实现方式
如果是在Excel中处理:
- 若Excel已识别为日期值:选中列 → 右键「设置单元格格式」→ 「自定义」→ 输入
mm/dd/yyyy(或mmmm/dd/yyyy)即可。 - 若Excel未识别为日期:先将列转为文本,再用
DATE函数拆分转换(以A1单元格为例):
转换后再设置单元格格式为目标样式。=DATE(RIGHT(A1,2)+2000, LEFT(A1,FIND("/",A1)-1), MID(A1,FIND("/",A1)+1,FIND("/",A1,FIND("/",A1)+1)-FIND("/",A1)-1))
通用格式规则说明
多数编程语言/工具的日期格式符逻辑一致:
%m/mm:两位月份(自动补零)%d/DD:两位日期(自动补零)%y:两位年份%Y:四位年份
核心是用支持可变长度解析的格式符读取输入,再用固定长度的格式符输出标准化结果。
内容的提问来源于stack exchange,提问作者MLEN
相关产品推荐
相关产品推荐

