python 数据清洗之提取字符串中的日期

import re
import numpy as np
from dateutil import parser

def get_std_timeformater(val:str)->str:
	if val != val:
		return None  # 当np.nan时,给出空值
	val = re.sub(r'\s', '',val)
	pattern = re.compile('\d{4}[\.\/年-]{,3}\d{1,2}[\.\/月-]{,3}\d{1,2}[\.\/日-]{,3}'
	val_list = re.findall(pattern, val)
	if val_list:
		val = val_list[0] # 若字符串有多个日期 ,则只取第0个
		if re.search(r'年|月|日', val):
			val = re.sub('[年月日]', '', val)
		if re.search(r"\/{2,}",val):
			val = re.sub("\/{2,}", '/', val)
		return parser.parse(val, yearfirst=True)
	else:
		return None #不能解析,则给出None
上一篇:数据结构——字符串-kmp算法


下一篇:JDBC连接方式和基本步骤,你愿意看必有收获篇(一)(手写千字,有不足望指出)