我有一个包含条目列表的文件,其中的日期包含“Jan”、“Feb”、“Mar”等
我想要
569207,ngph,RUN,512,16,2012-Jan-23 01:42,2012-04-23 10:53
变成
569207,ngph,RUN,512,16,2012-01-23 01:42,2012-04-23 10:53.
我写了如下:
for line in f:
if re.search(r'Jan', line):
f1.write(line.replace('Jan', '01'))
elif re.search(r'Feb', line):
f1.write(line.replace('Feb', '02'))
elif re.search(r'Mar', line):
f1.write(line.replace('Mar', '03'))
elif re.search(r'Apr', line):
f1.write(line.replace('Apr', '04'))
elif re.search(r'May', line):
f1.write(line.replace('May', '05'))
elif re.search(r'Jun', line):
f1.write(line.replace('Jun', '06'))
elif re.search(r'Jul', line):
f1.write(line.replace('Jul', '07'))
elif re.search(r'Aug', line):
f1.write(line.replace('Aug', '08'))
elif re.search(r'Sep', line):
f1.write(line.replace('Sep', '09'))
elif re.search(r'Oct', line):
f1.write(line.replace('Oct', '10'))
elif re.search(r'Nov', line):
f1.write(line.replace('Nov', '11'))
elif re.search(r'Dec', line):
f1.write(line.replace('Dec', '12'))
哪种方法有效,但有更清洁的方法吗?我希望它遍历大约100行的整个文件,并自动将月份更改为数字。谢谢。
两种可能性:
python文档值得一读,您可以找到一种更简单的方法来做更多的事情,而不仅仅是回答这个问题。
至于DIY解决方案,似乎有很多重复代码,不需要regex。你可以这样做
其中
months
是月份列表。也可以使用字典:
在regexpes中,可以使用简单的字符串
replace()
方法,而不必首先检查字符串中是否有月份名称。我不知道字符串Jan
是否可以在输入字符串的其他部分,但在IMO中,将-Jan-
替换为-01-
更安全。日期时间是答案,例如:
检查http://docs.python.org/2/library/datetime.html处的格式指令
相关问题 更多 >
编程相关推荐