CSV的多行写入和循环追加

由于整理数据,需要将经纬度和一个数值进行对准,并写入一个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

得到的效果如下:
CSV的多行写入和循环追加_第1张图片

你可能感兴趣的:(python)