【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"):


相关推荐
Qt学视觉1 小时前
AI2-Paddle环境搭建
c++·人工智能·python·opencv·paddle
城数派1 小时前
全国各省/直辖市/自治区CLCD1985~2024年30米土地利用数据(分省裁剪)
数据分析·excel
廋到被风吹走1 小时前
【LangChain4j】特点功能及使用场景
后端·python·flask
Eward-an1 小时前
LeetCode 239. 滑动窗口最大值(详细技术解析)
python·算法·leetcode
喵手2 小时前
Python爬虫实战:用代码守护地球,追踪WWF濒危物种保护动态!
爬虫·python·爬虫实战·濒危物种·零基础python爬虫教学·wwf·濒危物种保护动态追踪
梦想的旅途22 小时前
如何通过 QiWe API 实现企业微信主动发消息
开发语言·python
喵手2 小时前
Python爬虫实战:自动化抓取 Pinterest 热门趋势与创意!
爬虫·python·爬虫实战·pinterest·零基础python爬虫教学·采集pinterest热门趋势·热门趋势预测
凌晨一点的秃头猪2 小时前
Python文件操作
开发语言·python
小张贼嚣张3 小时前
数据分析全流程实战:Python(Pandas/Matplotlib/Numpy)+ MySQL(附可下载数据源+多图形绘制)
python·数据分析·pandas
努力的小白o(^▽^)o3 小时前
面向课堂考勤场景的桌面端人脸识别签到系统
python·人脸识别