四、Python系列——Pandas数据库写入数据并追加保存多个sheet--覆盖原excel表数据与不覆盖原excel表数据的情况
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了四、Python系列——Pandas数据库写入数据并追加保存多个sheet--覆盖原excel表数据与不覆盖原excel表数据的情况,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2701字,纯文字阅读大概需要4分钟。
内容图文
![四、Python系列——Pandas数据库写入数据并追加保存多个sheet--覆盖原excel表数据与不覆盖原excel表数据的情况](/upload/InfoBanner/zyjiaocheng/1231/7872fc48f38f464489ca3d12e25e2d91.jpg)
![技术分享图片](/upload/getfiles/default/2022/10/30/20221030031403491.jpg)
![技术分享图片](/upload/getfiles/default/2022/10/30/20221030031403872.jpg)
1
import
pandas as pd
2
import
numpy as np
3 data1 = pd.DataFrame(np.arange(12).reshape((3, 4)))
4 data2 = pd.DataFrame(np.random.randn(1, 2))
5 data3 = pd.DataFrame(np.random.randn(2, 3))
6 data4 = pd.DataFrame(np.random.randn(3, 4))
--该代码是后续内容所使用到的数据。
使用Pandas数据库对Excel文件进行写入并保存--追加并保存多个sheet时覆盖原excel表数据与不覆盖的情况
# 1.
使用
文件
.to_excel ---
覆盖原
数
据,只保留最后一
个
to_excel
的
sheet
"""
df1 = ....
df2 = ....
df1.to_excel(‘文件名‘,sheet_name=‘1‘,...)
df2.to_excel(‘文件名‘,sheet_name=‘2‘,..)
执行结果:只有df2信息,出现‘2‘sheet, to_excel只保存最后一个数据,原文件数据全部消失并被替代
"""
file_excel = r‘C:\Users\Administrator\Desktop\test.xls‘
data1.to_excel(file_excel, sheet_name=‘sheet_data1‘)
data2.to_excel(file_excel, sheet_name=‘sheet_data2‘) # test.xls表中只有data2的sheet_data2内容
# ps
:
从
指定
单
元格
开
始
写
入
data = pd.DataFrame({‘One‘: [1, 2, 3]})
data.to_excel(file_excel, sheet_name=‘123‘, startrow=10, startcol=2, index=False) # 从123sheet的11行3列单元格开始写入
# 2.
使用
pd.ExcelWriter(‘
文件名
‘)
及
文件
.to_excel ---
覆盖原
数
据,同
时执
行多
个
to_excel
时
才保存多
个
sheet,
结
束后再
执
行一
个数
据的
to_excel
只剩该
数
据的
sheet
"""
writer = pd.ExcelWriter(‘文件‘)
df1 = ....
df2 = ....
df1.to_excel(writer,sheet_name=‘1‘)
df2.to_excel(writer,sheet_name=‘2‘)
writer.save()
执行结果:df1、df2的信息均有,同时出现‘1‘与‘2‘sheet,原文件数据全部消失并被替代
writer = pd.ExcelWriter(‘文件‘)
df3 = ....
df3.to_excel(writer,sheet_name=‘3‘)
writer.save()
执行结果:只有df3信息,出现‘3‘sheet,原文件数据全部消失并被替代
"""
excel_writer = pd.ExcelWriter(r‘C:\Users\Administrator\Desktop\test2.xlsx‘) # 定义writer,选择文件(文件可以不存在,相当于新建文件)
data1.to_excel(excel_writer, sheet_name=‘sheet_data1‘)
data2.to_excel(excel_writer, sheet_name=‘sheet_data2‘)
excel_writer.save() # 保存文件 ---data1和data2都在,原数据被覆盖
excel_writer = pd.ExcelWriter(r‘C:\Users\Administrator\Desktop\test2.xlsx‘)
data3.to_excel(excel_writer, sheet_name=‘sheet_data3‘)
excel_writer.save() # 只有data3,原data1和data2被覆盖
excel_writer.close() # 关闭excel_writer
# 3.
使用
openpyxl.load_workbook--
不覆盖原
数
据且保存多
个
sheet--openpyxl
打
开
的文件格式需
为
.xlsx
格式
"""
from openpyxl import load_workbook # 导入模块load_workbook
writer = pd.ExcelWriter(‘文件‘)
save_book = load_workbook(writer.path)
writer.book = save_book # 将‘文件‘原表中的内容保存
df1 = ....
df2 = ....
df1.to_excel(writer,sheet_name=‘1‘)
df2.to_excel(writer,sheet_name=‘2‘)
writer.save()
执行结果:df1、df2的sheet信息均存在,且原文件的sheet数据都存在,没有覆盖原数据
"""
from openpyxl import load_workbook
writer = pd.ExcelWriter(r‘C:\Users\Administrator\Desktop\test2.xlsx‘)
save_book = load_workbook(writer.path)
writer.book = save_book # 将test2.xlsx原表中的内容保存
data4.to_excel(writer, sheet_name=‘sheet_data4‘) # 原表格中的数据均存在,并保存新的数据data4,若再执行一遍,新数据会被再次保存为副本sheet_data41
writer.save()
原文:https://www.cnblogs.com/www123yyy123/p/13321436.html
内容总结
以上是互联网集市为您收集整理的四、Python系列——Pandas数据库写入数据并追加保存多个sheet--覆盖原excel表数据与不覆盖原excel表数据的情况全部内容,希望文章能够帮你解决四、Python系列——Pandas数据库写入数据并追加保存多个sheet--覆盖原excel表数据与不覆盖原excel表数据的情况所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。