Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
确定python中的行是日期、字符串还是int_Python - Fatal编程技术网

确定python中的行是日期、字符串还是int

确定python中的行是日期、字符串还是int,python,Python,我的代码读取文本文件中的所有行,并确定它是字符串、int还是date。。问题是读取是否为日期时间。。如果我试图将其从字符串转换为datetime对象,则会引发错误: ValueError: unconverted data remains: 这是我的密码: with open('file.txt') as input_file: for i, line in enumerate(input_file): from datetime import datetime

我的代码读取文本文件中的所有行,并确定它是字符串、int还是date。。问题是读取是否为日期时间。。如果我试图将其从字符串转换为datetime对象,则会引发错误:

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

看起来您忘记删除“\n”。您可以按如下方式修改一行:-

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

我希望它能解决问题

看起来您忘记删除“\n”。您可以按如下方式修改一行:-

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

我希望它能解决问题

您能包含完整的错误吗?这段代码在Python 2.7上运行良好。您确定错误不会在您提供的代码块之外的代码上触发吗?请先尝试修剪该行(删除末尾的空白)。您如何知道数字或类似日期的文本何时应改为字符串处理?在世界许多地方,最后一个条目不能是日期,因为一年中只有12个月。为了避免歧义,在计算机中处理基于字符串的日期数据时,请始终使用年-月-日格式。是否包含完整错误?这段代码对我来说在Python 2.7上运行良好。您确定错误不会在您提供的代码块之外的代码上触发吗?请先尝试修剪该行(删除末尾的空白)。您如何知道数字或类似日期的文本何时应改为字符串处理?在世界许多地方,最后一个条目不能是日期,因为一年中只有12个月。为了避免歧义,在计算机中处理基于字符串的日期数据时,始终使用年-月-日格式。我不明白这如何解决问题。不删除换行符只会被
except
块捕获,并打印
“This a string”
,而不是触发错误。我认为代码不会在异常处理时引发错误,此错误不会在异常处理时引发。错误可以通过删除“\n”来解决。是的……但是OP发布的代码在
datetime
解析周围有
try
块,这就是为什么这个问题没有意义。太好了!谢谢真不敢相信这样的事情能解决这个错误:)我不明白这怎么能解决这个问题。不删除换行符只会被
except
块捕获,并打印
“This a string”
,而不是触发错误。我认为代码不会在异常处理时引发错误,此错误不会在异常处理时引发。错误可以通过删除“\n”来解决。是的……但是OP发布的代码在
datetime
解析周围有
try
块,这就是为什么这个问题没有意义。太好了!谢谢真不敢相信这样的事情会解决这个错误:)