解析字符串并使用Python转换日期

时间:2016-08-16 21:47:09

标签: python parsing datetime

我正在尝试解析这个“截至2015年12月31日的年度”并使用datetime lib将其转换为2015-12-31。我如何进行分区然后转换日期?我的程序正在查看包含多个工作表的excel文件并将它们合并为一个;但是,现在需要添加一个日期列,但我只能将它写入单元格的全部值。因此,我的数据列目前在所有行中都有“2015年12月31日结束的年度”。

提前致谢!

这是现在正在运行的代码块。谢谢大家!编辑以说明可能不同的文字。

   if rx > (options.startrow-1):
            ws.write(rowcount, 0, sheet.name)
            date_value = sheet.cell_value(4,0)
            s = date_value.split(" ")
            del s[-1]
            del s[-1]
            del s[-1]
            string = ' '.join(s)

            d = datetime.strptime(date_value, string + " %B %d, %Y")
            result = datetime.strftime(d, '%Y-%m-%d')
            ws.write(rowcount, 9, result)
            for cx in range(sheet.ncols):

2 个答案:

答案 0 :(得分:4)

只需包含硬编码部分,然后使用正确的标识符:

>>> import datetime
>>> s = "For The Year Ending December 31, 2015"
>>> d = datetime.datetime.strptime(s, 'For The Year Ending %B %d, %Y')
>>> result = datetime.datetime.strftime(d, '%Y-%m-%d')
>>> print(result)
2015-12-31

答案 1 :(得分:2)

from datetime import datetime

date_string = 'For The Year Ending December 31, 2015'
date_string_format = 'For The Year Ending %B %d, %Y'
date_print_class = datetime.strptime(date_string, date_string_format)
wanted_date = datetime.strftime(date_print_class, '%Y-%m-%d')

print(wanted_date)
相关问题