如何用pandas在原来的表上生成多个sheet页

如何用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()

你可能感兴趣的:(python,pandas,excel)