如何拆分列表中的元素并从列表中获取日期和时间

Jor*_*rdy 1 python split list readlines

从一开始我一直在努力用Python导入文件并以最佳方式读取行.例如,我拥有的文件如下:

2015 02 25    09:00:00
A second line
One more line
Run Code Online (Sandbox Code Playgroud)

现在我想从第一行提取日期和时间; 为此我们希望它以这种格式,我认为,使它在datetime模块中工作

(2015,02,25,09,00,00)
Run Code Online (Sandbox Code Playgroud)

这就是我所拥有的

with open('file.txt', newline='') as inputfile:
  data = inputfile.readlines()
  print(data[0])
Out: ['2015 02 25    09:00:00']
Run Code Online (Sandbox Code Playgroud)

这给了我们列表的第一个元素.现在我想用逗号分隔列表.现在,当我尝试这样做时:

In: datetime = [i.split(':') for i in file[0]]
Out: [['2015 02 25    09', '00', '00']]
Run Code Online (Sandbox Code Playgroud)

我得到了一个列表列表,这不会让事情变得更容易.我们甚至还没有拆分空白.获取日期和时间的最佳方法是什么?更一般地说,你知道任何好的教程来练习列表/字符串拆分,迭代文本文件/列表等.

Mik*_*tty 5

要从输入中获取日期和时间(或更确切地说datetime),它最容易使用strptime.

import datetime

s = "2015 02 25    09:00:00"

dt = datetime.datetime.strptime(s, "%Y %m %d %H:%M:%S")

print(dt)
Run Code Online (Sandbox Code Playgroud)

输出:

2015-02-25 09:00:00
Run Code Online (Sandbox Code Playgroud)

您甚至不必为"格式"字符串中的确切空格量而烦恼.

然后,您可以根据需要转换/格式化datetime对象.