在Python中将文本字符串列转换为日期列

时间:2017-08-13 22:14:35

标签: python

我正在尝试将文本文件的第二列(字符串)转换为时间戳,并将所有值从第一个文件写入另一个文件(转换日期)

import datetime
import time

infile = "datein.txt"
outfile = "dateout.txt"

fin = open(infile)
fout = open(outfile, "w")
for date in fin:
  date = ate = datetime.datetime(int(date.split(",")[1]).strptime("row[1]", "%d%b%Y:%H:%M:%S")
fout.write(date)

我收到错误提示“TypeError:需要一个整数”

Input File

1 个答案:

答案 0 :(得分:0)

integer datetime期待抱怨,因为date.split(",")[1])包含一个字符串,甚至尝试将其转换为integer将会返回:

  

ValueError:基数为10的int()的文字无效:   '01JAN2010:00:00:00'

由于该字符串类似于您传递给datetime.strptime"%d%b%Y:%H:%M:%S")的日期格式,只需使用该字符串而不进行任何转换,以获取datetime对象,然后我们将其转换为将<datetime.datetime>对象生成一个字符串,以便打开的文件可以写入它。

for date in fin.readlines()[1::]:
    d = datetime.datetime.strptime(date.split(",")[1], "%d%b%Y:%H:%M:%S")
    fout.write(str(d)+'\n')

给我们一个dateout.txt内容:

2010-01-01 00:00:00
2012-01-01 01:00:00
2013-01-01 02:00:00

希望有所帮助。