使用Unix将Date转换为Timestamp的问题

时间:2014-08-27 17:38:02

标签: unix

我有一个date.csv文件,其中包含不同的日期,我无法将其转换为时间戳。 例如

date.csv具有以下日期: -

Mar 24 2014
Apr 1 2014
Aug 25 2014

我正在尝试将上述日期转换为: -

03/24/2014 00:00:00
04/01/2014 00:00:00
08/25/2014 00:00:00

即。以mm / dd / yyyy 00:00:00格式,从而将输出存储在新文件中,即date1.csv

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以使用GNU日期实用程序执行转换:

date +"%m/%d/%Y %H:M:%S" -d "Mar 24 2014"
03/24/2014 00:00:00

这个问题并没有说明你可以使用哪些工具,但这是Python中的一个基本解决方案,它处理CSV文件中的读取,转换日期并将其输出到另一个CSV文件:

#!/usr/bin/python

import csv
from datetime import datetime
import sys

DATE_COLUMN = 3 # Or whatever column has the date

input_file = sys.argv[1]
output_file = sys.argv[2]

with open(input_file) as i_f:
    reader = csv.reader(i_f)
    with open(output_file, 'w') as o_f:
        writer = csv.writer(o_f)
        for row in reader:
            date = datetime.strptime(row[DATE_COLUMN], "%h %d %Y")
            row[DATE_COLUMN] = date.strftime("%m/%d/%Y %H:M:%S")
            writer.writerow(row)

用法:

python csv_date_converter.py input_file output_file