由于整理数据,需要将经纬度和一个数值进行对准,并写入一个csv文件,使用循环追加的方法写入,代码如下:
def writ_in_csv():
global lats
global lons
global soil_m#三个全局变量用于存放经纬度,土壤数值
count = 0
with open(r"hecdata_pm.csv", 'a',newline='') as f:#a表示在文末追加,newline用于去除间隔的空行
writer = csv.writer(f)
writer.writerow(["经度E", "纬度N", "土壤"]) # 先写入列名
for ilon in lons:#取出每一个经度值
for i in range(406):#写入每一个经度值对应的纬度、土壤
if (ilon==-9999.0) or (lats[i]== -9999.0) or (soil_m[count][i] == -9999.0):
#去除无用值,如果经纬度、土壤有一个是空(-9999.0),则摒弃该值
continue
else:
writer.writerows([[ilon, lats[i], soil_m[count][i]]])# 写入多行用writerows,一次在一行写入三个数值
count += 1