51 lines
1020 B
Python
51 lines
1020 B
Python
import re
|
|
from datetime import datetime
|
|
|
|
|
|
# 处理金额类数据
|
|
def handle_decimal(string):
|
|
if not string:
|
|
return ""
|
|
return re.sub(r'[^0-9.]', '', string)
|
|
|
|
|
|
# 处理日期类数据
|
|
def handle_date(string):
|
|
if not string:
|
|
return ""
|
|
|
|
string = string.replace("年", "-").replace("月", "-").replace("日", "")
|
|
string = re.sub(r'[^0-9-]', '', string)
|
|
if is_valid_date_format(string):
|
|
return string
|
|
else:
|
|
return ""
|
|
|
|
|
|
# 判断是否是合法的日期格式
|
|
def is_valid_date_format(date_str):
|
|
if len(date_str) < 6:
|
|
return False
|
|
|
|
# 定义可能的日期格式
|
|
formats = [
|
|
# yyyy-MM-dd
|
|
'%Y-%m-%d',
|
|
# yy-MM-dd
|
|
'%y-%m-%d',
|
|
# yyyyMMdd
|
|
'%Y%m%d',
|
|
# yyMMdd
|
|
'%y%m%d',
|
|
]
|
|
|
|
# 遍历所有格式,尝试解析日期
|
|
for fmt in formats:
|
|
try:
|
|
datetime.strptime(date_str, fmt)
|
|
return True
|
|
except ValueError:
|
|
pass
|
|
|
|
return False
|