我的数据有两个参数(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
因此,对于日期20130701
,T
/ 02
/ 08
和14
上的20
有4次测量,{ {1}}。
如何在pandas中读取此数据,以P
格式获取dateindex,并将YYYYMMDDHH
和T
作为列。
答案 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
之后,您可以将“已解析”值保存到列表或字典中,或立即在循环中使用