确定python中的行是日期、字符串还是int
我的代码读取文本文件中的所有行,并确定它是字符串、int还是date。。问题是读取是否为日期时间。。如果我试图将其从字符串转换为datetime对象,则会引发错误:确定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
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
和块,这就是为什么这个问题没有意义。太好了!谢谢真不敢相信这样的事情会解决这个错误:)