首页 > 解决方案 > 如何将文本字符串更改为日期以上传到数据库

问题描述

我得到一个数据导出,对于日期字段,它们都以字符串形式出现:“1 天结束 01-11-2021”。我希望能够将这些加载到数据库中,而无需大量手动更改日期。

有什么建议吗?

标签: pythonsqlexcel

解决方案


假设您要捕获带有日期的字符串部分:

from datetime import datetime
import re

date_string = "1 day ending 01-11-2021"

#Use regex to find a date-like pattern
match = re.search(r'\d{2}-\d{2}-\d{4}', date_string)

#Now save the matched string as a datetime object
date = datetime.strptime(match.group(), '%d-%m-%Y').date()

此操作当然可以按列应用于 Pandas DataFrame 之类的东西。Python 使用strftime 例程生成 DateTime 对象

strptime 的文档


推荐阅读