Python 如何写入同一Excel的多张Sheet表单

如何用python将数据存入同一个excel文件的多张sheet表单?

使用to_excel()保存表单时发生覆盖:

本想把三个数据表格保存到同一个excel的三个表单,只写了这三行
d1.to_excel(outputfile,sheet_name='Sheet1') d2.to_excel(outputfile,sheet_name='Sheet2') d3.to_excel(outputfile,sheet_name='Sheet3')
写完后打开excel发现只有最后一张表格被保存,前面两张都被覆盖了。

解决方法:

  • 先定义需要存入的excel路径,例如下面的 outputfile为excel路径。路径前面加 pd.ExcelWriter()括号里面写路径名。
  • 计算你需要的数据,比如我想计算 d1, d2, d3,并且最后分别把这三个放入名字为 normalization_data.xls的excel中的 sheet1, sheet2, sheet33张表单。这里的 sheet1, sheet2, sheet3可以是任意的名字,比如也可以叫 A, B, C或者其他的。
  • 计算完成后,给每个数据都给使用DataFrame(),例如我写的 d1=pd.DataFrame(d1)
  • 给每个数据都使用 .to_excel('excel名称',sheet_name='表单名称')
  • 最后对excel进行保存和关闭 outputfile.save()和outputfile.close()

注意事项

  • 写代码时候不一定一次就运行成功,每次运行时要把之前的excel表格关掉再运行,成功后再打开,否则无法写入。
import pandas as pd
import numpy as np

datafile='E:/计算机/数据挖掘/20210421/normalization_data.xls'
outputfile=pd.ExcelWriter('E:/计算机/数据挖掘/20210421/normalization_data(1).xls')
data=pd.read_excel(datafile,header=None)

d1=(data-data.min())/(data.max()-data.min())
d2=(data-data.mean())/data.std()
d3=data/10**np.ceil(np.log10(data.abs().max()))

d1=pd.DataFrame(d1)
d2=pd.DataFrame(d2)
d3=pd.DataFrame(d3)
d1.to_excel(outputfile,sheet_name='Sheet1')
d2.to_excel(outputfile,sheet_name='Sheet2')
d3.to_excel(outputfile,sheet_name='Sheet3')
outputfile.save()
outputfile.close()

print("success!")

normalization_data.xls内容如下:

Python 如何写入同一Excel的多张Sheet表单

保存结果展示:

Python 如何写入同一Excel的多张Sheet表单

Python 如何写入同一Excel的多张Sheet表单
Python 如何写入同一Excel的多张Sheet表单

Original: https://blog.csdn.net/qq_39622152/article/details/116067953
Author: Sieburg_Shen
Title: Python 如何写入同一Excel的多张Sheet表单

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/676499/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球