我的数据中的日期以两种不同的格式存储:
Dienstag 31. Dezember 2013
和30. Juni 2007
我编写脚本从这两种格式中提取Year/Month/Day
,并将它们存储在一个列表中:
for row in reader:
line_count = line_count + 1
if row[1] == "DATE":
pass
else:
date = row[1].encode('utf-8')
year = date.split('.')[1].split(" ")[2]
day = date.split(" ")[0]
day = day.replace('.', '')
month = date.split('.')[1].split(' ')[1]
对于第一种格式
以及
date = row[1].encode('utf-8')
year = date.split('.')[1].split(" ")[2]
day = date.split(" ")[0]
day = day.replace('.', '')
month = date.split('.')[1].split(' ')[1]
对于第二种格式
然而,这些日期格式在整个数据集中随机出现(row[1]
)。当Python遇到使用相应脚本的一种格式(比如if
语句)时,有没有方法告诉Python?
谢谢。你知道吗
我不知道你是否有强迫性,但正则表达式更适合这种问题。最好的一点是,它非常健壮,但非常灵活->;如果您希望有更多的格式(可能是2004年1月31日这样的美国风格),您可以轻松地进行修改。五行代码而不是原来的15;)
代码如下:
要使用它,只需写一行:
或者用第二种格式做另一个实验
简单,优雅,可重复使用。你知道吗
如果有的话,只要第二个图案以数字开头
您可以检查字符串中的第一个字符是否为alpha。你知道吗
相关问题 更多 >
编程相关推荐