Xlwings:date参数转换
在Excel单元格中,我调用函数fff(DATE(2001,1,1))。 要接收date参数,我使用(xlwings 0.10.0)下面的代码:
@xw.func @xw.arg('req_date', dates=datetime.date) # I also tried datetime.datetime def fff(req_date): print req_date
只打印一个数字,而不是date时间对象。 我通过打电话解决了这个问题
req_date = datetime.datetime(1899, 12, 30) + datetime.timedelta(days=req_date)
但是我想知道我做了什么错误的xlwings方式?!
如果Excel中的单元格被格式化为Date,则xlwings只执行自动转换为datetime
对象。 也就是说,如果将=DATE(2001,1,1)
放入一个单元格中,然后在另一个单元格中写入=fff('A1')
,它将按照您的预期工作(假设date公式在A1中)。