У меня есть файл Excel со столбцом с именем StartTime
, содержащим данные hh:mm:ss XX
, и ячейки в произвольном формате `h: mm: ss AM / FM '.Например,
ID StartTime
1 12:00:00 PM
2 1:00:00 PM
3 2:00:00 PM
Я использовал следующий код для чтения файла
df = pd.read_excel('./mydata.xls',
sheet_name='Sheet1',
converters={'StartTime' : str},
)
df
показывает
ID StartTime
1 12:00:00
2 1:00:00
3 2:00:00
Это ошибка или как это сделатьты преодолеваешь это?Спасибо.
[Обновление: 7 декабря 2018 года]
Полагаю, я мог внести изменения в файл Excel, которые сделали его странным.Я создал другой файл Excel и представляю здесь (я не мог прикрепить файл Excel здесь, и это тоже небезопасно):

Я создалследующий код для проверки:
import pandas as pd
df = pd.read_excel('./Book1.xlsx',
sheet_name='Sheet1',
converters={'StartTime': str,
'EndTime': str
}
)
df['Hours1'] = pd.NaT
df['Hours2'] = pd.NaT
print(df,'\n')
df.loc[~df.StartTime.isnull() & ~df.EndTime.isnull(),
'Hours1'] = pd.to_datetime(df.EndTime) - pd.to_datetime(df.StartTime)
df['Hours2'] = pd.to_datetime(df.EndTime) - pd.to_datetime(df.StartTime)
print(df)
Выходные данные
ID StartTime EndTime Hours1 Hours2
0 0 11:00:00 12:00:00 NaT NaT
1 1 12:00:00 13:00:00 NaT NaT
2 2 13:00:00 14:00:00 NaT NaT
3 3 NaN NaN NaT NaT
4 4 14:00:00 NaN NaT NaT
ID StartTime EndTime Hours1 Hours2
0 0 11:00:00 12:00:00 3600000000000 01:00:00
1 1 12:00:00 13:00:00 3600000000000 01:00:00
2 2 13:00:00 14:00:00 3600000000000 01:00:00
3 3 NaN NaN NaT NaT
4 4 14:00:00 NaN NaT NaT
Теперь возникает вопрос: «Использование панд для выполнения дельта времени из столбцов 2" чч: мм: сс XX "в Microsoft Excel ".Я изменил название вопроса тоже.Спасибо за тех, кто ответил и попробовал.
Вопрос Как представить значение времени в часах вместо микросекунд?