微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

datetime strptime-设置格式以忽略字符串的结尾部分

如何解决datetime strptime-设置格式以忽略字符串的结尾部分

您不能datetime.strptime()忽略部分输入。您 唯一的 选择实际上是先分割掉多余的文本。

所以,是的,你 必须拆分并重新加入您的字符串:

format = '%d/%m/%Y,%H:%M:%s'
datetime.strptime(','.join(line.split(',', 2)[:2]), format)

或找到其他方法提取信息。您可以使用正则表达式,例如:

datetime_pattern = re.compile(r'(\d{1,2}/\d{1,2}/\d{4},\d{2}:\d{2}:\d{2})')
format = '%d/%m/%Y,%H:%M:%s'
datetime.strptime(datetime_pattern.search(line).group(), format)

解决方法

我有一个长度可变的字符串,我想给一个格式strptime,以便忽略字符串的其余部分。让我举例说明。我有类似的东西

9/4/2013,00:00:00,7.8,7.4,9.53
10/4/2013,8.64,9.53

我想要一种使命令strptime(line,format)能够读取这些行的格式。诸如之类的东西format='%d/%m/%Y,%H:%M:%S*',尽管我知道这行不通。我想我的问题有点与此问题类似,但是那里没有答案可以帮助我,而且我的问题还更糟,因为我的琴弦的全长可能会有所不同。我有一种dateutil可以解决问题的感觉,但是我找不到能解决问题的方法。

我可能可以做类似的事情strptime(''.join(line.split(',')[:2]),format),但是我不想在与用户相关的问题上诉诸于此。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。