Крис,
самый простой способ будет объединить каждую ячейку с формулой конкатенации следующим образом:
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
это, при запуске, возвращает следующее
>>> combineTime(b,c)
datetime.datetime(2015, 8, 1, 0, 0)
вы могли бы так же легко поменять местами вернуться startDat для возвращения 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)
теперь вы можете использовать эти функции для заполнения новых столбцов с датой начала, датой окончания и затраченное временем!
- это исходные строки колонок? – Gabriel
и что именно вы хотите? новый столбец данных? если да, то как вы интерпретируете столбец 00: 00-8: 00 и 09: 00: 00-08: 00? какие единицы? – Gabriel
0 2015-08-01T09: 00: 00-08: 00 извлекается из некоторого примера кода Google python для обновления календаря Google. У меня такое ощущение, что последние 4 цифры - это часы и минуты. – cmagorian