我有大约5000个文本文件,其日期存储格式为YYYY-MM-DDTHH:MM:SS.000Z,并希望将此格式更改为MM / DD / YYYY HH:MM AM / PM。
我的优势在于知道每个日期格式前面都有字符串Closed:
。
我一直在使用以下内容来更改似乎有用的日期格式:
def datePrettyPrint(date):
d = dateutil.parser.parse(date)
return(d.strftime('%m/%d/%Y %I:%M %p'))
到目前为止,我有以下内容:
import fileinput, os
directory = "/home/ubuntu/workspace/files/"
for filename in os.listdir(directory):
with open(filename, 'r') as file :
filedata = file.read()
filedata = filedata.replace('Closed: FORMAT1', 'Closed: FORMAT2')
with open('file.txt', 'w') as file:
file.write(filedata)
我不知道如何取走FORMAT1
并将其更改为FORMAT2
。我希望我离这儿很近。
编辑:文件中的文字示例
Subject: Random Text
Author: Some Name
Closed: 2014-11-21T17:39:43.000Z
Here is a message with more text
这是我试图找到和替换的第3行。
答案 0 :(得分:0)
您可以使用正则表达式。网上有图案库,或者你可以自己编写。 python部分非常简单,类似于:
import re
import datetime
for match in re.findall(mySearchPattern, textToSearch)
#convert match to new format
datetime_object = datetime.strptime(match, "%Y-%m-%dT%H:%m:%s.000Z")
dateNewFormat = datetime_object.strftime("%m/%d/%Y %H:%M %p")
#substitute the old date with the new
re.sub(match, dateNewFormat, textToSearch)