我有一个简单的问题(至少我这么认为),我想在Python中为datetime值添加一个时间值。这些值是从excel文件中读取的。你知道吗
我有以下代码:
import xlrd
from datetime import time, datetime, timedelta
book = xlrd.open_workbook('C:\\Users\eline\Documents\***\***\Python\Example 1.xlsx')
sh = book.sheet_by_name("test")
arr_time = datetime(*xlrd.xldate_as_tuple(sh.cell_value(1,2), book.datemode))
print(arr_time)
a2 = sh.cell_value(1,5)
# converting float from excel to time value
print(int(a2*24*3600))
x = int(a2*24*3600)
slack_time = time(x//3600, (x%3600)//60, x%60)
print(slack_time)
new_arr_time = arr_time + slack_time
print(new_arr_time)
arr\u time是一个日期时间值,可以改变,例如:
2016-08-28 13:10:00
这里的空闲时间是以分钟(有时是小时)为单位的时间,可以变化,例如:
00:15:00
我想将空闲时间(例如15分钟)添加到arr\u时间。因此,在本例中,我希望获得新的\u arr \u时间的以下输出:
2016-08-28 13:25:00
但是,在运行代码时,出现以下错误:“TypeError:不支持+”的操作数类型:'日期时间。日期时间'和'日期时间.time’". 由此,我了解到我不能将时间值添加到datetime值,但是当将slack\u time转换为datetime值,然后将slack\u time添加到arr\u time时,我会得到一个类似的错误(尽管减法是这样工作的)。我知道我可以使用timedelta(minutes=15),但由于excel文件中的值不同,有时包含小时数,所以这对我不起作用。你知道吗
所以我的问题是:如何将从excel读取的时间值添加到datetime值?你知道吗
试试这个-希望有用
您应该使用float值将} 对象。然后可以将其添加到
slack_time
构建到一个持续时间中,即^{datetime
对象:所以你的代码变成:
如果需要,您可以从
new_time
以字符串格式获取日期相关问题 更多 >
编程相关推荐