如何从天气数据文件中分割日期

时间:2015-05-06 08:55:39

标签: python python-2.7

我是python的新手,我非常感谢一些帮助。 我有一个气象站(rawdate)生成的数据,格式为2015-04-26 00:00:48,如此

Date,Ambient Temperature (C),Wind Speed (m/s)
2015-04-26 00:00:48,10.75,0.00
2015-04-26 00:01:48,10.81,0.43
2015-04-26 00:02:48,10.81,0.32

我想将它们分成year month day hourminute。到目前为止我的尝试是:

for i in range(len(rawdate)):
    x=rawdate[1].split()
    date.append(x)

但是它给了我一个充满空列表的列表。我的目标是将其转换为列表列表(使用命令split),其中新数据将以[date, time]的形式存储到x中。然后我想使用拆分“ - ”和“:”进一步拆分。有人可以提供一些建议吗?

3 个答案:

答案 0 :(得分:3)

>>> from datetime import datetime

>>> str_date = '2015-04-26 00:00:48'
>>> datte = datetime.strptime(str_date, '%Y-%m-%d %H:%M:%S') 
>>> t = datte.timetuple()
>>> y, m, d, h, min, sec, wd, yd, i = t
>>> y
2015
>>> m
4
>>> min 
0
>>> sec
48

答案 1 :(得分:2)

您的代码明显被破坏,因为除了在rawdate[1]len(rawdate)次重复相同的操作之外,您没有以任何方式使用循环。

您的i可能意味着1

为了理所当然,你的rawdate必须是一个字符串列表(由@SuperBiasedMan建议)

也许接近你所追求的东西是这样的:

>>> dates = []
>>> rawdates = ['2015-04-26 00:00:48', '2015-04-26 00:00:49']
>>> for i in range(len(rawdates)):
...   the_date = rawdates[i].split()
...   dates.append(the_date)
... 
>>> dates
[['2015-04-26', '00:00:48'], ['2015-04-26', '00:00:49']]
>>> 

始终使用有意义的名称。

答案 2 :(得分:-1)

rawdate[1]将始终返回0原因'2015...'[1] is 0

>>>a = '2015-04-26 00:00:48'
>>>print([date for date in [i for i in a.split(' ')][0].split('-')] + [time for time in [i for i in a.split(' ')][1].split(':')])
>>>['2015', '04', '26', '00', '00', '48']