【无标题】python处理中国地面气候日值数据(V3)及缺失值和异常值处理
·
import pandas as pd
import os
import time
import numpy as np
data=pd.read_excel('新建 Microsoft Excel 工作表.xlsx')
# print(list(data.iloc[0,:])[1:])
# print(list(data.iloc[:,0])[2:])
sj=[]
for i in list(data.iloc[:,0])[2:]:
sj.append(str(i.year)+str(i.month)+str(i.day))
df=pd.DataFrame(sj,columns=['时间'])
print(df)
wj=os.listdir('tem11')
duiz={}
zhi=[]
# lie = int(input('请输入获取第几列数据'))
for kk in wj:
with open(f'tem11/{kk}',encoding='utf-8') as f:
lie = int(input(f'请输入{kk}获取第几列数据'))
da=f.readlines()
for i in da:
k=duiz.get(i.split( )[0].strip(),[])
k.append([i.split( )[4].strip()+i.split( )[5].strip()+i.split( )[6].strip(),i.split( )[lie-1].strip()])
duiz[i.split( )[0].strip()]=k
zuihoude=[]
star=time.time()
for i in sj:
zhong=[]
for j in list(map(str,list(data.iloc[0,:])[1:])):
flag=0
for k in duiz[j]:
if k[0]==i:
zhong.append(k[1])
flag=1
break
if flag==0:
zhong.append('none')
zuihoude.append(zhong)
print(zuihoude)
pd.DataFrame(zuihoude).to_excel('nnew.xlsx')
print(time.time()-star)

运行以上代码,可提取对应列的数据,得到excel格式的数据

|
1级目录 |
文件名 |
|
PRS |
SURF_CLI_CHN_MUL_DAY-PRS-10004-YYYYMM.TXT(本站气压) |
|
TEM |
SURF_CLI_CHN_MUL_DAY-TEM-12001-YYYYMM.TXT(气温) |
|
RHU |
SURF_CLI_CHN_MUL_DAY-RHU-13003-YYYYMM.TXT(相对湿度) |
|
PRE |
SURF_CLI_CHN_MUL_DAY-PRE-13011-YYYYMM.TXT(降水) |
|
EVP |
SURF_CLI_CHN_MUL_DAY-EVP-13240-YYYYMM.TXT(蒸发) |
|
WIN |
SURF_CLI_CHN_MUL_DAY-WIN-11002-YYYYMM.TXT(风向风速) |
|
SSD |
SURF_CLI_CHN_MUL_DAY-SSD-14032-YYYYMM.TXT(日照) |
|
GST |
SURF_CLI_CHN_MUL_DAY-GST-12030-0cm-YYYYMM.TXT(0cm地温) |
更多推荐
所有评论(0)