python - 获取日期时间对象以打印为真实日期

标签 python


我有一个包含这样行的文本文件..

(datetime.datetime(2017, 1, 1, 4, 16), 0.17799999999999999)
(datetime.datetime(2017, 1, 1, 4, 26), 0.20000000000000001)
(datetime.datetime(2017, 1, 1, 4, 36), 0.17699999999999999)

最终我想读入数据并根据值绘制日期,但我目前只停留在读取数据上。

目前为止

f=open('data.txt', 'r')
for line in f:
    line = line.strip()
    columns = line.rsplit(',',1)                                                                                                                             
    date=columns[0][1:]
    print(date)

示例输出:

datetime.datetime(2017, 1, 1, 4, 36)

但我希望它打印为日期,例如20170101 04:36:00(或类似时间)
我不知道如何让 datetime 对象被识别,并显示为真实的日期字符串。如果我用谷歌搜索,我会看到大量关于将字符串转换为日期时间对象的信息,但没有其他信息。

非常感谢。

最佳答案

示例中文本文件的内容是有效的 Python 语法,因此如果您确定此格式正确并且数据在您自己的控制之下,您可以只评估这些行。 (请注意,如果数据可以被其他人操纵,则存在安全风险,因此这可能是也可能不是好的解决方案,具体取决于您的用例。)

import datetime

with open('data.txt', 'r') as file:  # Tip: use context manager to avoid resource leak
    for line in file:
        line = line.strip()
        date = eval(line)[0]  # evaluate line as Python code and get first element
        print(date.strftime('%Y%m%d %H%M'))  # print date/time in preferred format

关于python - 获取日期时间对象以打印为真实日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55880035/

相关文章:

python - 列出类继承的所有属性

python - 如何用numpy绘制文件?

python - 由于numpy,Python脚本无法与Windows任务计划程序一起运行

python - 如何从极地日期计算月份的开始和结束日期?

python - 调整什么参数才能使视差结果正确?在opencv中使用cv2.StereoBM

python - 类型错误 : 'str' object is not callable?

python - Pandas - 合并两个具有不同行数的数据框

python - 如何停止networkx来更改源节点和目标节点?

python theano 优化失败由于 : local_dot_to_dot22

python - 在pandas中,如何将一列float32值转换为float16值?