我有一个包含这样行的文本文件..
(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/