登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
使用Python将txt文件转为nc文件 这段时间要批量使用nc文件,这里提供一个我自己编写的txt转nc文件的程序 首先载入所需库 import netCDF4 as nc from netCDF4 import Dataset import pandas as pd import os from pandas import DataFrame as df import numpy as np 输入txt文件位置和nc文件输出位置 filepath = "~/txt/" #nc文件位置 filenames = os.listdir(filepath) #批量读取文件名 file_path = '~/nc/' #nc文件输出位置 #下面进入批量处理 for file_name in filenames: nc_pro =Dataset(file_path+file_nc+'.nc', 'w', format = 'NETCDF4') #使用Dataset创建nc文件 nc_pro.createDimension('al',None) nc_pro.createDimension('temp',None) nc_pro.createDimension('RH',None) nc_pro.createDimension('pha',None) #命名nc文件变量,None,为自由维度 al =nc_pro.createVariable('al',np.float64,('al')) temp =nc_pro.createVariable('temp',np.float64,('temp')) rh =nc_pro.createVariable('RH',np.float64,('RH')) pha =nc_pro.createVariable('pha',np.float64,('pha')) #设置nc文件中变量类型,这里使用的是float64 al.units = 'm' rh.units = '%' temp.units ='K' pha.units ='pha' #定义变量单位 data =pd.read_csv(filepath+file_name) #使用panda中的read_csv读取txt文件 data_df =data['height\tPha\ttemp\tRH'].str.split('\t',expand = True) #由于我读取的txt文件只输入到了一个columns,所以我使用这个语句进行了分列 nc_df =df(data_df.values, columns=['al','pha','temp','RH']) #将分列后的dataframe文件columns重新命名 nc_pro['al'][:] =nc_df['al'].values nc_pro['rh'][:] =nc_df['RH'].values nc_pro['pha'][:] =nc_df['pha'].values nc_pro['temp'][:] =nc_df['temp'].values #将数值输入到nc文件中 nc_pro.close() #为避免内存的占用,写完一个关闭一个
|