我正在解析由PowerShell生成的大量csv文件。
大部分内容如下:
" .txt" @" 12/01/2017 4:47:55 PM" @" 12/01/2017 4:47:55 PM" @" 2017年12月1日 下午4:47:55" @" 0"
但有些看起来像这样:
.pptx @" 2017-02-20오후4:30:39" @" 2017-02-20오후4:30:39" @" 2015- 11-12오후 7:32:11" @" 13387528"
我想从时间戳解析DateTime对象,但它失败了:
pd.to_datetime ("2017-02-20 PM 4:30:39", format='%Y-%m-%d %p %I:%M:%S')
Timestamp('2017-02-20 16:30:39')
pd.to_datetime ("2017-02-20 오후 4:30:39", format='%Y-%m-%d %p %I:%M:%S')
ValueError: time data '2017-02-20 오후 4:30:39' does not match format '%Y-%m-%d %p %I:%M:%S' (match)
我可以通过将文件打开为十六进制来处理此问题,然后只需替换相应的' \ uc624 \ ud6c4'使用' AM / PM'。
我错过了解决此问题的更方便方法吗?
答案 0 :(得分:1)
strftime
没有这方面的功能,但我之前使用的一个技巧是删除字符串中可能的外来字符位:
pd.to_datetime(" ".join(np.array("2017-02-20 오후 4:30:39".split(" "))[[0, -1]]),
format='%Y-%m-%d %I:%M:%S')
我不会称之为“优雅”。但它确实有效。