我们经常用pandas读入读写excel文件,经常会遇到一个excel文件里存在多个sheet文件,这个时候,就需要一次性读取多个sheet的数据并做相应的数据分析或数据处理,最后再写入新的excel文件(同样是多个sheet)。本文即介绍多个sheet文件的读入及处理数据后写出到新excel文件(多个sheet)的操作过程。
读取文件
该excel文件中有4个sheet(有时候有多少sheet并不知道),现在读入所有sheet表格。
import pandas as pd df=pd.read_excel('输入数据123.xlsx',sheet_name=None)#读取excel所有sheet数据 df
所有sheet的内容都读入至df中。查看所有sheet名
df.keys()
查看某一个sheet在每个sheet中新增一列
for i in df.keys(): df[i]['月份']=df[i]['填写日期'].astype(str).apply(lambda x:int(x[5:7])) df
多份数据写入一个excel文件(多个sheet)
现在要把以下四份数据写入一个excel文件的不同sheet里。
writer1 = pd.ExcelWriter('输出数据0401.xlsx',engine='xlsxwriter') for i in df.keys(): df[i].to_excel(writer1, sheet_name=i, index=False) worksheet1 = writer1.sheets[i] #worksheet1.set_column(1, 1, 150)#设置列的宽度 writer1.close()