爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 1737|回复: 2

[经验总结] 合并多年的逐小时nc文件案例,求指教改进

[复制链接]

新浪微博达人勋

发表于 2023-6-14 11:47:34 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
# 将所有的nc文件进行合并,生成一个nc文件
# 多年的nc数据

import xarray as xr
import netCDF4 as nc
import os
import numpy as np
import pandas as pd

# 外置函数
# 列出文件下所有文件名,返回输入文件路径+文件名
def getALLFiles(targetDir):
    listFiles = os.listdir(targetDir)
    for i in range(len(listFiles)):
        listFiles = targetDir + "/" +listFiles
        #print(listFiles)
    return listFiles


# 获取文件夹下的年份
targetDir = "E:/xinzheng2021-2022/xinzheng"
years = os.listdir(targetDir)

# 年份循环
# 逐小时数据
file_new = []
for everyyear in years:

    # 当年nc路径构造
    ncfilepath = targetDir + "/" + everyyear
    files = getALLFiles(ncfilepath)
    #当年逐日数据读取拼接
    for file in files:
        timefiles = getALLFiles(file)
        for timefile in timefiles:
            # print(timefile[-16:])
            data = xr.open_dataset(timefile)
            data["Temperature_height_above_ground"] = data["Temperature_height_above_ground"] - 273.15
            file_new.append(data)


da = xr.concat(file_new, dim='time')
print(da)
print(da.time.values)
da.to_netcdf('E:/xinzheng2021-2022/mulyear.nc')
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2023-12-1 23:55:05 | 显示全部楼层
楼主这个代码为啥在帖子上这么漂亮指点指点{:eb302:}
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2023-12-7 23:38:25 | 显示全部楼层
万里路始于足下 发表于 2023-12-1 23:55
楼主这个代码为啥在帖子上这么漂亮指点指点

直接粘贴的
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表