克里斯,
最简单的方法是将每个单元格与一个连接公式组合如下:
new = cell1 + " " + cell2 + " " + cell3
但如果您希望保持日期完整性并且可能进行一些简单的计算...这是我解决此问题的选择方法。
首先,我想澄清一下,您的日期是一个时间跨度,但我们也可以用它做一些有趣的事情。
为了便于参考,我已经模拟了您的数据(这仅用于显示目的 - 实际上不是矩阵)
您的数据如下所示
a b c
0 2015-08-01 00:00-8:00
0 2015-09-03 6:00-17:00
请注意,小时范围没有可靠的长度,您的数据可能不是这种情况,但这里有一个无论如何都可以使用的解决方案。
def combineTime(b,c):
from datetime import datetime
dashNum = c.find("-")
start = (b + " " + c[:dashNum])
finish = (b + " " + c[dashNum+1:])
startDate = datetime.strptime(start, "%Y-%m-%d %H:%M")
finishDate = datetime.strptime(finish, "%Y-%m-%d %H:%M")
return startDate
this,运行时返回以下内容
>>> combineTime(b,c)
datetime.datetime(2015, 8, 1, 0, 0)
您可以像这样轻松地将 return startDat 交换为 return finishDate
def combineTime(b,c):
from datetime import datetime
dashNum = c.find("-")
start = (b + " " + c[:dashNum])
finish = (b + " " + c[dashNum+1:])
startDate = datetime.strptime(start, "%Y-%m-%d %H:%M")
finishDate = datetime.strptime(finish, "%Y-%m-%d %H:%M")
return finishDate
返回
>>> combineTime(b,c)
datetime.datetime(2015, 8, 1, 8, 0)
然后你可以做一些有趣的事情,比如确定开始和结束之间的时间长度......
def elapseTime(b,c):
from datetime import datetime
dashNum = c.find("-")
start = (b + " " + c[:dashNum])
finish = (b + " " + c[dashNum+1:])
startDate = datetime.strptime(start, "%Y-%m-%d %H:%M")
finishDate = datetime.strptime(finish, "%Y-%m-%d %H:%M")
timeDiff = finishDate - startDate
elapHour = timeDiff.total_seconds()/3600
return round(elapHour, 2)
现在,您可以使用这些函数来填充包含开始日期、完成日期和经过时间的新列!