- 积分
- 853
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2021-4-27
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
使用python提取国家气象中心提供的日降水站点资料,并将其处理为月平均降水资料,在数据处理过程中有以下注意事项:
- 要先把使用到的降水资料文件放在一个空文件夹中
- 注意国家气象中心提供的降水资料的数据格式
- 月平均降水资料是每日降水总量之和,不用除以天数
- import numpy as np
- from os.path import join
- from os import listdir
- root = r'E:\pre' #原始资料存放的文件夹
- for name in listdir(root):
- filename = join(root,name)
- with open(filename) as fp:
- line = fp.readlines()
- data = [item.strip().split() for item in line]
- data = list(data)
- data = np.array(data,dtype = int)
- fp.close()
-
- if data[0,4] < 1979:
- continue
- root1 = r'E:\pre' #读取原始数据后按站点存放数据的文件夹
- name0 = '1234'
- xave = 0 #月平均降水量
- for i in range(len(data)): #遍历列表的每一行
- name1 = str(data[i,0]) #站点编号赋值给name1
- #处理降水数据
- if data[i,12] != 0:
- data[i,9] = 0.0
- if data[i,9] >= 32000:
- if data[i,9] == 32700:
- data[i,9] = 0.0
- else:
- data[i,9] = data[i,9] - 32000
- elif data[i,9] >= 31000:
- data[i,9] = data[i,9] - 31000
- elif data[i,9] >=30000:
- data[i,9] = data[i,9] - 30000
-
- if name1 != name0: #若该编号与上一个不同说明读取的是下一个站点的数据
- if i > 0 : #从第二个站点开始写入上一个站点的月平均数据
- name0 = name0+'.dat'
- filename1 = join(root1,name0)
- with open(filename1,'a') as fp1: #打开储存新站点的文件
- data_str = str(data[i,4]) + ' ' + str(data[i,5])\
- + ' ' + str(xave) + '\n'
- fp1.write(data_str)
- fp1.close()
- name0 = name1
- xave = 0 #平均数归零
- xave = xave + data[i,9]
复制代码 详情也可见:https://blog.csdn.net/qq_47672397/article/details/124149949?spm=1001.2014.3001.5501
|
|