亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 XArray 合并特定的 netcdf4

如何使用 XArray 合并特定的 netcdf4

慕標琳琳 2022-07-12 10:19:13
背景我有 2 年的 netcdf4 文件(每天 1 個 netcdf4 文件)。我一直在使用 X-Array 來合并文件,使它們易于使用。所有 netcdf4 文件都遵循相同的命名約定“YYYYMMDD_data_Nx.nc4.nc”問題但是,如果我只想使用我的數據子集的子集,例如 2019 年 1 月 1 日到 2019 年 1 月 31 日之間的文件,我該怎么辦。我目前擁有的import xarray as xrds = xr.open_dataset('C:\\Users\\FILES\\*.nc')df = dsdf.to_csv('export.csv', index=True)
查看完整描述

1 回答

?
鳳凰求蠱

TA貢獻1825條經驗 獲得超4個贊

解決了


我查看了 xarray readthedocs 頁面,在 open_mfdataset 頁面中看到了這個簡介。


路徑(str 或 sequence)——“path/to/my/files/*.nc”形式的字符串 glob 或要打開的文件的顯式列表。路徑可以作為字符串或 pathlib 路徑給出。如果需要沿多個維度進行連接,則路徑必須是嵌套的列表列表(有關詳細信息,請參閱 manual_combine)。(字符串 glob 將擴展為一維列表。)


因此,我通過了一個列表


更新和工作代碼


import xarray as xr

from datetime import timedelta, date, datetime

import pandas as pd

import numpy as np



# **************

# Date Ranges

# **************

def daterange(start_date, end_date):

    for n in range(int((end_date - start_date).days)):

        yield start_date + timedelta(n)



# Start & End Date

start_date = date(2019, 1, 1)

end_date = date(2019, 1, 31)


# Empty List

filepath = 'C:\\Users\\USER\\FILES\\'

filelist = []


# Loop through all MERRA2 files and add the ones we need to the list

for single_date in daterange(start_date, end_date):

    YYYY = single_date.strftime("%Y")

    MM = single_date.strftime("%m")

    DD = single_date.strftime("%d")

    filename = filepath + YYYY + MM + DD + '_data_Nx.nc'


    filelist.append(filename)


# Merge via X-Array and export to csv

ds = xr.open_mfdataset(filelist, combine='by_coords')

df = ds.to_dataframe()

df.to_csv('export.csv', index=True)


查看完整回答
反對 回復 2022-07-12
  • 1 回答
  • 0 關注
  • 241 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號