确定python中的行是date,string还是int

时间:2016-08-21 05:07:06

标签: python

我的代码读取文本文件中的所有行并确定它是字符串,int还是日期..问题是如果它是一个日期时间正在读取..如果我试图将它从字符串转换为日期时间对象它会引发错误:

ValueError: unconverted data remains: 

这是我的代码:

with open('file.txt') as input_file:
    for i, line in enumerate(input_file):
        from datetime import datetime
        try:
            int(line)
            print "This is an integer"
        except:
            try:
                date_object = datetime.strptime(line, '%m-%d-%Y')
                print date_object
                del date_object
                print "This is a date"
            except:
                print "This is a string"

我的文本文件包含:

1
John Doe
08-15-2016

1 个答案:

答案 0 :(得分:4)

看起来你忘了删除'\ n'。您可以按如下方式修改一行: -

date_object = datetime.strptime(line.strip(), '%m-%d-%Y')

我希望它能解决问题