使用日期时间将时隙从字符串转换为时间
converting timeslots from string to time using datetime
我需要使用 matplotlib 绘制活动数据。发送的时间需要在同一天的不同活动运行之间进行比较,因此只有HH:MM
是重要的,并且在单独的列中提供。
我收到 csv 格式的数据,其中一列显示时间,不幸的是,如果它是在 09:45
发送的,它会显示为 9:45
:
['9:05', '9:20', '9:25', '9:35', '9:40', '10:17', '10:22'...]
任何人都可以给我提示吗?我使用 Python 3,真正的新手用户,所以相信 soemone 可以指出我明显的错误并指导我找到正确的解决方案。谢谢
import pandas
from datetime import datetime
from datetime import time
file_name = r'''C:\Users\testing.csv''' # name of your excel file
df1 = pandas.read_csv(file_name, encoding='utf-8')
df_Campaign1 = df1[df1['DataSource ID'].str.contains('Campaign1')==True]
Campaign1_times = df_Campaign1['time sent'].tolist()
Campaign1_times = [datetime.strptime(slot,"%H:%M") for slot in Campaign1_times]
print(Campaign1_times)
我希望收到 09:05
等日期时间格式,这样我就可以在时间轴上绘制多个活动结果,但不幸的是输出是:
[datetime.datetime(1900, 1, 1, 9, 5), datetime.datetime(1900, 1, 1, 9, 20), datetime.datetime(1900, 1, 1, 9, 25), datetime.datetime(1900, 1, 1, 9, 35), datetime.datetime(1900, 1, 1, 9, 40), datetime.datetime(1900, 1, 1, 10, 17)...]
这可能远非最佳解决方案,但以下代码以 HH:MM:SS 格式返回时间。这是你需要的吗?
import datetime
time_ = str(datetime.datetime.strptime('9:30', '%H:%M').time())
print(time_)
例子returns下面的字符串:'09:30:00'
我需要使用 matplotlib 绘制活动数据。发送的时间需要在同一天的不同活动运行之间进行比较,因此只有HH:MM
是重要的,并且在单独的列中提供。
我收到 csv 格式的数据,其中一列显示时间,不幸的是,如果它是在 09:45
发送的,它会显示为 9:45
:
['9:05', '9:20', '9:25', '9:35', '9:40', '10:17', '10:22'...]
任何人都可以给我提示吗?我使用 Python 3,真正的新手用户,所以相信 soemone 可以指出我明显的错误并指导我找到正确的解决方案。谢谢
import pandas
from datetime import datetime
from datetime import time
file_name = r'''C:\Users\testing.csv''' # name of your excel file
df1 = pandas.read_csv(file_name, encoding='utf-8')
df_Campaign1 = df1[df1['DataSource ID'].str.contains('Campaign1')==True]
Campaign1_times = df_Campaign1['time sent'].tolist()
Campaign1_times = [datetime.strptime(slot,"%H:%M") for slot in Campaign1_times]
print(Campaign1_times)
我希望收到 09:05
等日期时间格式,这样我就可以在时间轴上绘制多个活动结果,但不幸的是输出是:
[datetime.datetime(1900, 1, 1, 9, 5), datetime.datetime(1900, 1, 1, 9, 20), datetime.datetime(1900, 1, 1, 9, 25), datetime.datetime(1900, 1, 1, 9, 35), datetime.datetime(1900, 1, 1, 9, 40), datetime.datetime(1900, 1, 1, 10, 17)...]
这可能远非最佳解决方案,但以下代码以 HH:MM:SS 格式返回时间。这是你需要的吗?
import datetime
time_ = str(datetime.datetime.strptime('9:30', '%H:%M').time())
print(time_)
例子returns下面的字符串:'09:30:00'