我有一个庞大的电子表格,其中所有日期都是这样写的:
2 days ago
9 days ago
34 days ago
54 days ago
etc.
是否有一种聪明的Python方法可以将这些数据转换为实际日期,如果我告诉Python什么日期' 1天前'是
答案 0 :(得分:3)
答案 1 :(得分:2)
如果输入日期格式可能略有不同(人工输入),那么您可以使用parsedatetime
module将人类可读的日期/时间文本解析为datetime
个对象:
#!/usr/bin/env python
import sys
from datetime import datetime
import parsedatetime # $ pip install parsedatetime
now = datetime(2015, 3, 8) # the reference date
cal = parsedatetime.Calendar()
for line in sys.stdin: # at most one date per line
dt, type = cal.parseDT(line, now)
if type > 0:
print(dt)
2015-03-06 00:00:00
2015-02-27 00:00:00
2015-02-02 00:00:00
2015-01-13 00:00:00