Я пытаюсь изменить объекты даты и времени в списке списков на строки, используя strftime, но преобразование в строку работает неправильно. В частности, я пытаюсь отформатировать его как% H:% M
Я проанализировал файл Excel с помощью Pandas и преобразовал DataFrame в список списков с помощью NumPy.
Вот соответствующие разделы моего кода
import pandas as pd
import datetime
import time
...
dataframe = pd.read_excel(download_file, skiprows=4)
location_logs = dataframe.to_numpy().tolist()
for log in location_logs:
for val in log:
if type(val) == datetime.datetime:
val = val.strftime("%H:%M")
Цикл правильно идентифицирует объекты даты и времени, так как оператор print внутри условного сопоставления данных и даже печатает отформатированную строку вместо объекта datetime.
Однако, если я печатаю список, такой как location_logs[0]
, он печатает объект datetime, найденный во вложенном списке, вместо строки, то есть печатает datetime.datetime(2019,6,17,23,59)
вместо моего ожидаемого 23:59
Собираюсь ли я неправильно конвертировать объекты даты и времени? Возможно ли, что размер списка списков вызывает проблему? Есть ~ 62 тыс. Списков с 7 элементами в каждом списке.