excel矢量点克里金插值且批量导出数据——python

请教大家一下,我有一个excel矢量点数据,数据里面包括一个区域的经纬度数据,还有不同年份数据。

img

,类似于这样,也就是每个坐标点都有数年的数据。我想用python对这个excel表中的矢量点进行克里金插值并且逐月导出tiff格式。大家有什么好办法嘛!

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7670284
  • 这篇博客你也可以参考下:《对比excel,轻松学习python数据分析》学习笔记
  • 除此之外, 这篇博客: Python 批量处理大学校运会报名 Excel 表格,多表整合、数据汇总及统计 实例中的 全部代码: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 以下是该实例的全部代码:

    import xlrd
    import xlwt
    import os
    
    # 获取目录下文件
    # 先遍历目录下文件
    path = './tables' # 此处用的是相对路径(注意自己的文件路径)
    f = os.walk(path)
    files = []  # xls 文件列表
    # 获取目录下文件
    for dir_path, dir_names, file_names in f:
        for file in file_names:
            # 筛选目录下xls格式文件
            if '.xls' in file:
                files.append(file)
    
    # 用 xlrd 读取Excel文件数据
    # 定义读取单个 excel 文件数数据
    def read_excel(name):
        file_path = path + '/'+ name
        work_book = xlrd.open_workbook(file_path)
        sheet = work_book.sheet_by_index(0)
        return sheet._cell_values[1:]
    
    # 读取目录下所有数据
    sign_data = [read_excel(name) for name in files]
    
    # 按照汇总要求整理数据
    summary_data = []
    for data in sign_data:
        for d in data[2:]:
            # 在每条报名信息中插入学院、年级、专业信息
            d.insert(0,data[0][6])  # 专业信息
            d.insert(0,data[0][4])  # 年级信息
            d.insert(0,data[0][1])  # 学院信息
            summary_data.append(d)
    
    # 报名字段列表
    sign_keys = sign_data[0][1]
    # 汇总表格字段操作
    summary_key = sign_keys[:]
    summary_key.insert(0,'专业信息')
    summary_key.insert(0,'年级信息')
    summary_key.insert(0,'学院信息')
    
    
    # 获取校运会运动项目清单
    sports = []
    for data in summary_data:
        if data[7] not in sports:
            sports.append(data[7])
    
    # 按运动项目筛选报名信息
    sport_data = {}
    for sport in sports:
        sport_data[sport] = []
        for data in summary_data:
            if sport == data[7]:
                sport_data[sport].append(data)
    
    # 写入数据
    work_book = xlwt.Workbook()
    sheet_0 = work_book.add_sheet('汇总信息')
    sheet_0.write_merge(0,0,0,10,'xx大学校运会报名信息表')
    # 写入汇总表格报名信息字段
    for col,string in enumerate(summary_key):
        sheet_0.write(1,col,string)
    
    # 写入汇总数据
    for row,ds in enumerate(summary_data):
        for col,d in enumerate(ds):
            sheet_0.write(row+2,col,d)
    
    # 写入各个运动项目的报名信息sheet表
    for sport,s_ds in sport_data.items():
        # 增加sheet表
        s_sheet = work_book.add_sheet(sport)
        # 在sheet表中增加数据
        s_sheet.write_merge(0,0,0,10,'%s参赛项目报名人员信息汇总' % sport)
        for col, string in enumerate(summary_key):
            s_sheet.write(1, col, string)
        # 写入具体报名人员信息
        for row,ds in enumerate(s_ds):
            for col, d in enumerate(ds):
                s_sheet.write(row + 2, col, d)
    
    # 保存表格
    work_book.save('summary_sign.xls')
    

    注:以上代码,很多信息其实未具体指定,如有哪些运动项目、班级信息、专业信息等。数据内容字段(如:学院信息, 年级信息, 专业信息…)这些都是直接从表格里获取的。也就是说 该代码的复用性是比较高的,换做其他报名信息的统计,稍微改动一下,应该就可以运行了

  • 您还可以看一下 曾贤志老师的【曾贤志】用Python处理Excel数据 - 第1季 基础篇课程中的 2.9 修改工作簿、工作表、单元格小节, 巩固相关知识点