Python 如何从天气数据文件中分割日期
我是python新手,非常感谢您的帮助。 我有从气象站(Python 如何从天气数据文件中分割日期,python,python-2.7,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 我想把它们分成年月日小时和分钟。到目前为止,我的尝试是: for i in range(
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
我想把它们分成年
月日小时和分钟
。到目前为止,我的尝试是:
for i in range(len(rawdate)):
x=rawdate[1].split()
date.append(x)
但它给了我一个满是空名单的名单。我的目标是将其转换为列表列表(使用命令
split
),其中新数据将以[date,time]
的形式存储到x中。然后我想使用带“-”和“:”的拆分进一步拆分。有人能提供一些建议吗?rawdate[1]
将始终返回一个0
原因'2015…'[1]是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']
您的代码显然已被破坏,因为除了在
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']]
>>>
始终使用有意义的名称。能否详细说明rawdate存储/是什么?是列表还是字符串?它是包含多个日期时间还是仅包含一个日期时间?Rawdate只是我正在使用的名称。该数据取自一个.txt文件,其中包含7行数据,第一行是我发布的格式中的日期。该文件包含一整天的连续行数据。请查看并相应调整您的问题,以便人们能够更轻松地回答。另外值得注意的是,.split()将按特定字符分割内容。它默认为空格,但可以提供类似于
split('-')
的字符。在您的情况下,要同时按多个字符拆分,请查看re.split(),您可以告诉它按空格、逗号和破折号一起拆分。strtime()
,timetuple()
:很好!
>>> 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