【python】追加写入excel

输出文件运行前(有两张表,"表1"和"Sheet1"):


目录


一:写入单表(删除所有旧工作表,写入新表)

python 复制代码
import pandas as pd

df1 = pd.DataFrame({
    'A': [1, 1, 1],
    'B': [1, 1, 1]
})

df2 = pd.DataFrame({
    'C': [0, 0, 0],
    'D': [0, 0, 0]
})
# 无ExcelWriter直接写入
df1.to_excel('output.xlsx', sheet_name='Sheet1',index=None)
df2.to_excel('output.xlsx', sheet_name='Sheet2',index=None)

运行后(原"表1""Sheet1"删除,写入"Sheet2"):

二:写入多表(删除所有旧工作表,写入新表)

python 复制代码
import pandas as pd

df1 = pd.DataFrame({
    'A': [1, 1, 1],
    'B': [1, 1, 1]
})

df2 = pd.DataFrame({
    'C': [0, 0, 0],
    'D': [0, 0, 0]
})
# 使用 ExcelWriter 写入不同的 sheet
with pd.ExcelWriter('output.xlsx') as writer:
    df1.to_excel(writer, sheet_name='Sheet1',index=None)
    df2.to_excel(writer, sheet_name='Sheet2',index=None)

或者

python 复制代码
import pandas as pd

df1 = pd.DataFrame({
    'A': [1, 1, 1],
    'B': [1, 1, 1]
})

df2 = pd.DataFrame({
    'C': [0, 0, 0],
    'D': [0, 0, 0]
})
# 使用 ExcelWriter 写入不同的 sheet
writer=pd.ExcelWriter('output.xlsx')
df1.to_excel(writer, sheet_name='Sheet1',index=None)
df2.to_excel(writer, sheet_name='Sheet2',index=None)
writer.close()
'''
excelwriter()相当于open()函数
writer赋值时要像打开文件那样进行上下文管理,需要调用close()来关闭保存文件。
否则使用with语句,不需要调用close()。

'''

运行后(原"表1""Sheet1"删除,写入新"Sheet1""Sheet2"):

三:追加写入(保留原有表格,旧表第一行覆盖写入新数据)

python 复制代码
import pandas as pd

df1 = pd.DataFrame({
    'A': [1, 1, 1],
    'B': [1, 1, 1]
})

df2 = pd.DataFrame({
    'C': [0, 0, 0],
    'D': [0, 0, 0]
})
# 使用 ExcelWriter 写入不同的 sheet
with pd.ExcelWriter('output.xlsx',mode='a', engine='openpyxl', if_sheet_exists="overlay") as writer:
    df1.to_excel(writer, sheet_name='Sheet1',index=None)
    df2.to_excel(writer, sheet_name='Sheet2',index=None)

运行后(原"表1""Sheet1"保留,在"Sheet1"写入新数据,新建"Sheet2"):


四:追加写入(保留原有表格,旧表最后一行不覆盖写入新数据)

python 复制代码
import pandas as pd

df1 = pd.DataFrame({
    'A': [1, 1, 1],
    'B': [1, 1, 1]
})

df2 = pd.DataFrame({
    'C': [0, 0, 0],
    'D': [0, 0, 0]
})
# 使用 ExcelWriter 写入不同的 sheet
with pd.ExcelWriter('output.xlsx',mode='a', engine='openpyxl', if_sheet_exists="overlay") as writer:
    df1.to_excel(writer, sheet_name='Sheet1',index=None, startrow=3, startcol=0)
    df2.to_excel(writer, sheet_name='Sheet2',index=None)

运行后(原"表1""Sheet1"保留,在"Sheet1"写入新数据,新建"Sheet2"):


相关推荐
JoshRen35 分钟前
2026教程:上传Excel,用Gemini 3镜像站多模态一键生成问卷分析图表代码与结论(附国内免费方案)
excel
gqk011 小时前
【无标题】
python
V搜xhliang02461 小时前
OpenClaw科研全场景用法:从文献到实验室的完整自动化方案
运维·开发语言·人工智能·python·算法·microsoft·自动化
李崧正2 小时前
Java技术分享:Lambda表达式与函数式编程
java·开发语言·python
BIGmustang2 小时前
python练手之用tkinter写一个计算器
开发语言·python
WL_Aurora2 小时前
Python 算法基础篇之链表
python·算法·链表
曲幽2 小时前
FastAPI 少有人提的实用技巧:把 Depends 依赖提到路由层,代码少写60%
python·fastapi·web·routes·depends·prefix·apiroute
qiaozhangchi2 小时前
求解器学习笔记
笔记·python·学习
kexnjdcncnxjs3 小时前
Redis如何记录每一次写操作_开启AOF持久化机制实现命令级追加记录
jvm·数据库·python