Сбой данных Excel в формате ЧЧ: ММ: СС - PullRequest
0 голосов
/ 23 октября 2018

Файл Excel, предоставленный системой, которой я не владею, предоставляет количество часов, отработанных над проектом или задачей, в формате ЧЧ: ММ: СС, и обычно это не было бы проблемой, если бы оно составляло 23 часа или меньше.Каждый раз, когда это 24 часа или более, Python видит это как 1/1/1900 00:00:00, но исходный файл показывает что-то вроде скажем 37:00:00

Мне нужно проанализировать это поле в файле Excel, чтобы получить 37 как int.

Я попробовал следующее:

df['Planned working time'].map(lambda x: (x, x.split(":"))) gives me 'datetime.time' object has no attribute 'split'

df['Planned working time'].map(lambda x: datetime.datetime.strptime(str(x), "%H:%M:%S")) дает мне данные о времени '1900-01-01 00:00:00' не соответствует format '%H:%M:%S

1 Ответ

0 голосов
/ 23 октября 2018

Ваш df['Planned working time'] содержит данные, которые не в строковом формате, и поэтому вы не сможете применить .split(), а также не соответствует вашему формату %H:%M:%S, поскольку в файле Excel также есть дата (значение ячейки)).

Вы можете попытаться лениво преобразовать ее в строку и получить первое значение из ваших разбиений.

df['Planned working time'].astype(str).apply(lambda x: int(x.split()[-1].split(':')[0]))

Она удаляет дату, затем получает первый элемент до :и преобразует его в целое число.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...