我有一个带有时间戳的巨大日志文件,格式如下:
08/07/2013 11:40:08 PM INFO
我想使用 python 将其转换为 mysql 时间戳,例如:
2013-04-11 13:18:02
我已经编写了一个 python 脚本来做到这一点,但我想知道是否已经编写了一些内置的 python 包/函数来轻松、更有效地完成时间戳例程工作。
由于数据“按摩”是我日常工作的一部分,因此对我的代码效率或新功能甚至新工具的使用的任何建议将不胜感激。
(注意:输入文件由 ^A 分隔,同时我也将其转换为 csv)
($ cat output.file | python csv.py > output.csv)
import sys
def main():
for line in sys.stdin:
line = line[:-1]
cols = line.split(chr(1))
cols[0] = convertTime(cols[0])
cols = [ '"' + col + '"' for col in cols ]
print ",".join(cols)
def convertTime(loggingTime):
#mysqlTime example: 2013-04-11 13:18:02
#loggingTime example: 08/07/2013 11:40:08 PM INFO
#DATE
month, day, year = loggingTime[0:10].split('/')
date = '/'.join([year,month,day])
#TIME
hour, minute, second = loggingTime[11:19].split(':')
flag = loggingTime[20:22]
if flag == 'PM':
hour = str(int(hour) + 12)
time = ":".join([hour, minute, second])
mysqlTime = date + " " + time
return mysqlTime
if __name__ == '__main__':
main()