python_合併多年氣象站點資料至新檔案
阿新 • • 發佈:2018-12-15
# -*- coding: utf-8 -*- """ Created on Sat Oct 13 14:08:19 2018 @author: Administrator """ #import re import os import pandas as pd inws=r'G:\QX_data\2002_2017\PRE_CSVaddTtile' #輸入路徑 outws=r'G:\QX_data\2002_2017\PRE_CSVperSite'#輸出路徑 site=[51709,51747,51765,51811,51828] #需要用到 四個站點 2002-2017年的資料,每個檔案存放四個站點,每年每月每天的資料,需要將個檔案中的站點資料合併到一個檔案,比如PRE_51828.csv,包含所有這個站點的2002-2017每年每月每天的資料 title=['區站號','緯度','經度','觀測場拔海高度','年','月','日','20-8時降水量','8-20時降水量','20-20時累計降水量','20-8時降水量質量控制碼','8-20時累計降水量質量控制碼','20-20時降水量質量控制碼'] #資料表頭 #新建存放輸出資料的CSV檔案 #for s in site: # K=outws+'\\'+'PRE_'+str(s)+'.csv' # print(K) # namelist.append(K) # sitefile=open(K,'w+') #sitefile.close() #print(namelist) mery=pd.DataFrame() #空DF files1= os.listdir(inws)#遍歷資料夾 final_data=open('G:\\QX_data\\2002_2017\\PRE_CSVperSite\\PRE_51828.csv','w+') #開啟存放資料的空檔案 for file1 in files1: #資料夾下各檔名 print (file1) Cname=inws+'\\'+file1 data=pd.read_csv(Cname,encoding='gbk',index_col=1) #讀取資料,並將區站號設為索引 for m in site: for n in data.index: # print(m,n) index=0 if str(m)==str(n): # print (data.ix[n]) if str(n)=='51828': #當索引等於站點 print (data.ix[n]) mery=mery.append(data.ix[n]) #迴圈新增到一個DF mery.to_csv(final_data,header=title) #寫入檔案 final_data.close()