Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从天气数据文件中分割日期_Python_Python 2.7 - Fatal编程技术网

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(

我是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(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