四、Python系列——Pandas数据库写入数据并追加保存多个sheet--覆盖原excel表数据与不覆盖原excel表数据的情况

四、Python系列——Pandas数据库写入数据并追加保存多个sheet--覆盖原excel表数据与不覆盖原excel表数据的情况
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))
View Code

--该代码是后续内容所使用到的数据。

使用Pandas数据库对Excel文件进行写入并保存--追加并保存多个sheet时覆盖原excel表数据与不覆盖的情况

# 1.使用 文件.to_excel ---覆盖原据,只保留最后一to_excelsheet
"""
df1 = ....
df2 = ....
df1.to_excel(‘文件名‘,sheet_name=‘1‘,...)
df2.to_excel(‘文件名‘,sheet_name=‘2‘,..)
执行结果:只有df2信息,出现‘2‘sheet, to_excel只保存最后一个数据,原文件数据全部消失并被替代
"""

四、Python系列——Pandas数据库写入数据并追加保存多个sheet--覆盖原excel表数据与不覆盖原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表中只有data2sheet_data2

四、Python系列——Pandas数据库写入数据并追加保存多个sheet--覆盖原excel表数据与不覆盖原excel表数据的情况

# ps指定元格
data = pd.DataFrame({‘One‘: [1, 2, 3]})

data.to_excel(file_excel, sheet_name=‘123‘, startrow=10, startcol=2, index=False)  # 123sheet113元格


# 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()
执行结果:df1df2的信息均有,同时出现‘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()  # 保存文件   ---data1data2都在,原据被覆盖

四、Python系列——Pandas数据库写入数据并追加保存多个sheet--覆盖原excel表数据与不覆盖原excel表数据的情况

excel_writer = pd.ExcelWriter(r‘C:\Users\Administrator\Desktop\test2.xlsx‘)
data3.to_excel(excel_writer, sheet_name=‘sheet_data3‘)
excel_writer.save()   # 只有data3,data1data2被覆盖
excel_writer.close()  # 关闭excel_writer

四、Python系列——Pandas数据库写入数据并追加保存多个sheet--覆盖原excel表数据与不覆盖原excel表数据的情况

 

# 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()
执行结果:df1df2sheet信息均存在,且原文件的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()

四、Python系列——Pandas数据库写入数据并追加保存多个sheet--覆盖原excel表数据与不覆盖原excel表数据的情况四、Python系列——Pandas数据库写入数据并追加保存多个sheet--覆盖原excel表数据与不覆盖原excel表数据的情况

 

 

 

 

 

四、Python系列——Pandas数据库写入数据并追加保存多个sheet--覆盖原excel表数据与不覆盖原excel表数据的情况

上一篇:mysql命令行批量插入100条数据


下一篇:Python学习笔记014——迭代工具函数 内置函数zip()