现在我已经弄清楚了 How do I strtotime in python?我想知道是否有一种更优雅的方法来处理具有空日期的条目,如果我尝试对它们进行 strptime() ,则会返回错误。
warrant_issued = cells[4].get_text().strip()
try:
warrant_issued_no = datetime.strptime(warrant_issued, '%m/%d/%Y')
except:
warrant_issued_no = ''
这可行,但我正在解析每行中的四到五个日期,它看起来既冗长又重复。我想我应该定义一个函数,但是还有其他方法可以让这个函数更加Pythonic吗?
为了简洁起见,我一开始就做了from datetime import datetime
,这样datetime.strptime()
就可以工作了。否则我需要 datetime.datetime.strptime()
最佳答案
我认为定义一个函数并仅捕获您知道如何处理的异常正是实现此目的的方法。
def parse_datetime(warrant_issued):
try:
warrant_issued_no = datetime.strptime(warrant_issued, '%m/%d/%Y')
except ValueError:
warrant_issued_no = ''
warrants_issued = [ parse_datetime(cell.get_text().strip()) for cell in cells ]
关于python - 是否有更优雅的方法来处理此抓取工具中的空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13553321/