在Python中识别不同的日期格式

时间:2017-11-14 05:15:03

标签: python datetime

我正在读取包含不同格式日期的csv文件中的列。

我正在尝试将每个唯一的日期格式写入文本文件。下面显示了一些独特数据格式的示例。

2006

12年9月12日

07年12月24日

2013年4月10日

1993年4月29日

2011年9月

3月7日

1830

2010年2月12日星期五

4月19日星期四

2011年5月12日

公元前413年

我的代码:

来自datetime import datetime

导入csv

以open(' train.csv',' rb')作为f_input,打开(' sample.txt',' wb' )作为f_output:

csv_input = csv.reader(f_input)
csv_output = csv.writer(f_output)
header = next(csv_input)

for row in csv_input:
    for date_format in ['%Y','%m/%d/%y']:
        try:
            converted = datetime.strptime(row[3], date_format)
            csv_output.writerow([row[0], row[1], converted.strftime(date_format)])
        except ValueError:
            pass  

现在,我已经找到了目前为止的前两种格式:  对于['%Y','%m /%d /%y']中的date_format:

我现在确定其他格式将如何翻译。有什么建议吗?

1 个答案:

答案 0 :(得分:-1)

使用dateutil

的示例
from dateutil.parser import *

dates = ["2005","2006","4 March 2013","5 April 2012","14th February 2012","7th 
January 2014","April 10, 2014","March 3, 2017","October 1st, 1943","Dec 23rd, 
1978"]

for date in dates:
  print(dateutil.parser.parse(date))