import xarray as xr
import numpy as np
import pandas as pd
import os
import glob
from datetime import datetime, timedelta
folder_path = 'nc数据存放文件夹路径'
file_paths = glob.glob(os.path.join(folder_path, "*.nc"))
df_station = pd.read_csv("这里是站号经纬度", encoding="gbk")
# Create an empty list to accumulate station data
station_data_list = []
# Create a list to store all unique times
all_times = []
for file_path in file_paths:
ds = xr.open_dataset(file_path)
time = ds["time"].values
lon = ds['longitude'].values
lat = ds['latitude'].values
# Add the 'xxxx' variable 读取你响应需要的变量参数
for station, find_latindex, find_lonindex in zip(df_station['站号'], df_station['纬度'], df_station["经度"]):
lat_index = np.argmin(np.abs(lat - find_latindex))
lon_index = np.argmin(np.abs(lon - find_lonindex))
# 变量[:, lat_index, lon_index]
# 时间转换
for i, time_val in enumerate(time):
beijing_time = time_val + np.timedelta64(8, 'h') # Add 8 hours of time difference (no DST in China)
beijing_time_str = beijing_time.astype('M8[s]').astype(str) # Format time as a string
all_times.append(beijing_time_str)
# Append the data for this time point to the list
station_data = [station, beijing_time_str, find_lonindex, find_latindex]
station_data_list.append(station_data)
# Create a DataFrame from the accumulated station data
columns = ['需要存放到csv中的列名']
df_all = pd.DataFrame(station_data_list, columns=columns)
df_all.to_csv("输出路径",encoding="gbk",index=False)
这里进行的操作是按照站点经纬度提取ERA5数据对应的参数值
434

被折叠的 条评论
为什么被折叠?



