透视表操作和多个sheet保存到同一个excel文件中
导入模块
import pandas as pd
import numpy as np
导入数据
df = pd.read_excel('合并.xls')
df.head()
结果显示
将日期作为行索引,名称作为列索引,金额作为数值制作透视表
# 法一:直接调用pandas的透视表方法
# df_piv = df.pivot_table(index='到期日/返售日',columns='额度占用人名称',values='票面金额',aggfunc=np.sum)
# df_piv.head()
# 法二:使用DataFrameGroupBy类型数据的unstack()方法
df_piv = df.groupby(['到期日/返售日','额度占用人名称']).sum().unstack()
df_piv.head()
结果显示
将透视表的每条数据作为一个sheet合并到同一个excel文件中
writer = pd.ExcelWriter('111.xls')
df_piv.index = pd.to_datetime(df_piv.index,format='%Y%m%d') # 将索引类型由字符串改为时间序列类型,便与提取数据
for i in pd.date_range('2020-05','2021-05',freq='MS'):
i = i.strftime('%Y-%m') # 将时间序列转为字符串以便截取所需要的年和月
df_piv[i].to_excel(writer,sheet_name=i) # 向excel文件中写入sheet
writer.save() # 保存excel文件
结果显示