python操作-基于excel数据分类提取——台风降水台站数据为例

目录

  • 前言
  • 一、实例数据
  • 二、python代码
  • 三、实现展示


前言

利用python代码,将一个excel文件按照某一列的分类标签拆分成多个文件。本文以台风降水台站数据为例,将一个excel文件的数据按照站点分别提取并保存为多个以站点命名的excel文件。


一、实例数据

在气象台站数据处理中,有时候站点多的让人头大,python编程也不太会,参考了相关python代码https://blog.csdn.net/mjc861743986/article/details/121137420,finally 搞出来了,图1为台风降水站点部分数据,只包含50353、50136 两个站点,在实际操作中,对于更多的站点也可实现,下面将按照站点批量提取并分别保存,接着往下看吧…
python操作-基于excel数据分类提取——台风降水台站数据为例_第1张图片

二、python代码

提示:以下是代码全部内容,仅供参考
1.导入pandas包

import pandas as pd
import os

2.根据站点新建以站点命名的excel表

def newfile(filepath,filename):  
    data=pd.read_excel(filepath,dtype=str)
    stations=data['站点'] 
    nstations=list(set(stations))
    num=len(nstations) 
    #根据站点个数,创建对应的以站点命名的excel表
    for i in range(0,num,1): 
        path=filepath.replace(filename,"")+list(nstations)[i]+".xlsx"
        df = pd.DataFrame()
        df.to_excel(path)

3.提取各个站点的数据并保存对应的excel文件

def splitfile(filepath,filename):   
    #创建各站点文件
    newfile(filepath,filename)
    df=pd.read_excel(filepath,dtype=str)
    #按照站点分组
    grouped=df.groupby("站点")
    stations=df['站点']
    nstations=list(set(stations))
    #获取excel数据所在的路径
    dir=filepath.replace("\\"+filename,"")for i in range(0,len(nstations),1):
        #取出分组后的各个站点
        station=grouped.get_group(nstations[i])
        #遍历文件夹下面的所有文件,如目录,子目录,所有文件,并以站点名称命名文件
        for root_dir,sub_dir,files in os.walk(r'' + dir):
            for file in files:
                if file==nstations[i]+'.xlsx':
                    station.to_excel(filepath.replace(filename,"")+nstations[i]+".xlsx",index=False)

4.定义数据文件的路径和文件名

filepath="D:\\study\\RSMCPre_data\\RSMCPre.xlsx"
filename="RSMCPre.xlsx"
splitfile(filepath,filename)

三、实现展示

依次运行代码,以按照站点提取并命名的excel文件就保存至数据文件的文件夹中了!
在这里插入图片描述
python操作-基于excel数据分类提取——台风降水台站数据为例_第2张图片
python操作-基于excel数据分类提取——台风降水台站数据为例_第3张图片
完毕,以上就是本文全部内容!!!

你可能感兴趣的:(气象站点数据处理,python,pandas,开发语言)