如何在列中以行和小时读取日期的数据文件

时间:2015-08-20 05:23:07

标签: python pandas

我的数据有两个参数(T和P),间隔为6小时。数据每行包含一天,每小时有几列。像这样:

iiiii    dateday     Lon     Lat    T02 T08 T14 T20  P02     P08     P14     P20
51076   20130701    8808    4773    177 165 254 180 9209    9218    9218    9220
51076   20130702    8808    4773    156 164 254 250 9215    9214    9217    9213
51076   20130703    8808    4773    194 205 284 308 9213    9210    9209    9193
51076   20130704    8808    4773    228 199 246 230 9203    9218    9227    9224
51076   20130705    8808    4773    179 167 224 229 9222    9239    9231    9217

因此,对于日期20130701T / 02 / 0814上的20有4次测量,{ {1}}。

如何在pandas中读取此数据,以P格式获取dateindex,并将YYYYMMDDHHT作为列。

1 个答案:

答案 0 :(得分:1)

你应该逐行阅读文件,跳过第一行:

with open(fname) as f:
    next(f)
    for line in f:

然后你应该解析一行,如果每行的格式总是相同的,你可以简单split它并删除空值:

        parsed = filter(None, line.split(' ')

之后,您可以访问日期和T和P参数,例如:

        print(parsed[1]) # dateday
        print(parsed[4]) # T02
        print(parsed[11]) # P20

之后,您可以将“已解析”值保存到列表或字典中,或立即在循环中使用