如何用pandas在原来的表上生成多个sheet页
今天遇到个需求:处理完excel当中的数据后要在原来的表上生成多个sheet页,并且不改变原表。
方法1:
使用 ExcelWriter 方式去完成该操作
注意把原表数据再生成一份,否则会被覆盖
import pandas as pd
df = pd.read_excel(path)
writer = pd.ExcelWriter(path)
# 这里的作用是生成第一个sheet页,不写会把原来的sheet页覆盖掉
sheet1 = df
sheet1.to_excel(writer, sheet_name='sheet1', index=False)
index = 2
cols = ['班级', '姓名', '年龄', '住址', '成绩']
for data in result_list:
# data 是二维数组
# 从第二页开始生成多个sheet页
sheet_obj = pd.DataFrame(data, columns=cols)
sheet_obj.to_excel(writer, sheet_name=name, index=False)
index += 1
writer.save()
writer.close()
方法2
使用 ExcelWriter,openpyxl 方式去完成该操作
import pandas as pd
df = pd.read_excel(path)
from openpyxl import load_workbook
index = 2
cols = ['班级', '姓名', '年龄', '住址', '成绩']
for data in result_list:
# data 是二维数组
book = load_workbook(writer.path)
writer.book = book
# 从第二页开始生成多个sheet页
sheet_obj = pd.DataFrame(data, columns=cols)
sheet_obj.to_excel(writer, sheet_name=name, index=False)
index += 1
writer.save()
writer.close()