1. 程式人生 > >python_合併多年氣象站點資料至新檔案

python_合併多年氣象站點資料至新檔案

# -*- 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()