如何解决正则表达式:在格式错误的日期时间字符串中添加空格
我正在尝试将格式错误的日期时间 String 对象替换为日期部分和小时部分之间的空格(如下数据所示)。
下面的数据是我使用正则表达式筛选出的格式错误的数据。我不能为如何在两者之间留出空间而苦恼。想知道我是否可以通过正则表达式来做到这一点? regex的新手,如果有人可以分享他们的经验,将不胜感激!
df[df['time'].str.contains(r'\.[0-9][0-9][0-9][0-9]\:')]['time']
20192 2010.12.2512:01:45
20193 2010.12.2512:02:52
20196 2010.12.2512:07:43
20197 2010.12.2512:25:33
42811 2013.01.0103:04:10
43527 2013.05.1605:49:49
解决方法
您的正则表达式距离不远;您只需要添加匹配的组(例如,here),就可以在它们之间放置缺少的空间。例如。喜欢
import pandas as pd
df = pd.DataFrame({'time': ['2010.12.2512:01:45','2010.12.2512:02:52','2010.12.25 12:07:43']})
df['time'].replace('(\.[0-9]{2})([0-9]{2}\:)',r'\1 \2',regex=True)
# 0 2010.12.25 12:01:45
# 1 2010.12.25 12:02:52
# 2 2010.12.25 12:07:43
# Name: time,dtype: object
请注意,我在列表末尾添加了一个“有效”字符串。正则表达式替换未对其进行修改。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。