现在有1998-2020年全国所有城市的某项指标文件夹,全是excel文件,如下图:
每个excel文件里面的表头都一样,如下:
本人需要的数据是,西安市、成都市、长沙市、太原市、郑州市、北京市、上海市这7个城市的1998-2020年的全部MEAN值这一列。一共是7*(2020-1998+1)=161个数值。代码如下:
import pandas as pd
import openpyxl as op
wb1=op.Workbook()
cities=['西安市','成都市','长沙市','太原市','郑州市','北京市','上海市']
years=[i for i in range(1998,2021)]
ws1=wb1['Sheet']
for j in range(len(cities)):
ws1.cell(1,j+2).value=cities[j]
for j in range(len(years)):
ws1.cell(j+2,1).value=years[j]
for i in range(len(years)):
file='gld'+str(years[i])+'_TableToExcel.xls'
ws=pd.read_excel(file)
shi=list(ws['市'])
mean=list(ws['MEAN'])
mean7=[]
for j in range(len(cities)):
if cities[j] in shi:
indx=shi.index(cities[j])
mean7.append(mean[indx])
for j in range(len(cities)):
ws1.cell(i+2,j+2).value=mean7[j]
wb1.save('1998-2020年7市某项指标汇总.xlsx')
运行结果如下: