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


相关推荐
软件测试-阿涛2 小时前
【自动化测试】Python Selenium 自动化测试元素定位专业教程
开发语言·python·selenium·自动化
June_陆月3 小时前
pycharm快捷键设置为和vscode一样
ide·vscode·python·pycharm
程序员三藏4 小时前
软件测试之单元测试
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
万粉变现经纪人5 小时前
如何解决pip安装报错ModuleNotFoundError: No module named ‘keras’问题
人工智能·python·深度学习·scrapy·pycharm·keras·pip
java1234_小锋6 小时前
【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 词云图-微博评论词云图实现
python·自然语言处理·flask·nlp·nlp舆情分析
codists6 小时前
《AI-Assisted Programming》读后感
python
爱欲无极7 小时前
基于Flask的微博话题多标签情感分析系统设计
后端·python·flask
F_D_Z7 小时前
conda issue
python·github·conda·issue
Wangsk1337 小时前
用 Python 批量处理 Excel:从重复值清洗到数据可视化
python·信息可视化·excel·pandas
越来越无动于衷8 小时前
智慧社区(八)——社区人脸识别出入管理系统设计与实现
java·开发语言·spring boot·python·mysql