python - 使用 datetime 将时隙从字符串转换为时间
问题描述
我需要使用 matplotlib 绘制活动数据。发出的时间需要在同一天运行的不同活动之间进行比较,因此只有HH:MM
重要的,并且在单独的列中提供。我在 csv 中收到数据,其中一列显示时间,不幸的是,如果它是在 eg 发送的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_)
该示例返回以下字符串:'09:30:00'
推荐阅读
- android - × 组件 tns-core-modules 未安装。× 组件 tns-android 未安装。× 组件 tns-ios 未安装
- javascript - 如何在不重绘图表的情况下更新 highchart 中的向下钻取数据?
- python - 如何在 Python 中为 a 替换(环)?
- angular - 角度错误 TS2339:“订阅”类型上不存在属性“查找”
- android - Android 拆分 ABI armeabi-v8a 不工作。我不使用 ndk,但 arm 二进制文件仅适用于 armeabi-v8a
- regex - 仅从文本文件中提取日期并忽略大量数字
- java - Hibernate5 没有与 Spring5 进行交易?
- javascript - 替代 JQuery 切换
- python - 如何显式等待Python Selenium中文本框的属性值发生变化?
- jgrasp - 如何在 JGrasp 上更改小程序的大小?