2017-08-13 140 views
-5

我试图将文本文件(它是一个字符串)的第二列转换为时间戳并将第一个文件中的所有值写入另一个文件(转换日期)在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) 

我得到一个错误说“类型错误:一个整数需要”

Input File

+2

邮政编码为文本,而不是图片。 –

+0

我看着你的代码,这很容易修复,但我建议你环顾四周,因为它们已经被全部回答了。 -1用于发布图片而不是代码。 –

+0

嗨anja9221!不要让反对票打败你。这里的投票是让其他人评估帖子质量的机制。我不会投票你的问题,但其他人有的原因是因为它没有格式化的方式,很容易让我们来帮助你...即你的代码应该张贴在问题中,以便我们可以快速看到它。还有其他一些原因为什么这个问题是downvoted,[你可以在这里了解为什么](http://www.catb.org/~esr/faqs/smart-questions.html#stackoverflow)。这个网站是关于学习的。改善你的问题有助于我们所有人做得更好。我希望你能再试一次! – zelusp

回答

0

integerdatetime期待抱怨,因为date.split(",")[1])包含字符串,甚至试图ŧ由于该字符串类似于要传递到datetime.strptime"%d%b%Y:%H:%M:%S"),只要使用该字符串无需任何转换,得到一个datetime对象的日期格式,然后我们投

ValueError: invalid literal for int() with base 10: '01JAN2010:00:00:00'

:○将其转换为integer将返回由此产生的<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 

希望有所帮助。