1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > Pandas中to_excel实现数据追加或者覆盖到Excel工作表

Pandas中to_excel实现数据追加或者覆盖到Excel工作表

时间:2023-08-29 21:42:35

相关推荐

Pandas中to_excel实现数据追加或者覆盖到Excel工作表

这两天在想如何将一些重复的工作用Python实现自动化,但是遇见一些难题,比如用pandas中的to_exce插入数据时会出现覆盖原数据,或者直接直接把工作表给搞没了,整个人都不好了。所以查资料查资料,但是知识都是零零散散,虽然找到一些方法,可还是不能实现自己的需求,于是乎想了半天,不断到的用数据做实验,终于摸索出了一种可以追加和覆盖的方法。以下就是我使用的方法

首先了解的是需要用到的库:pandas 和 openpyxl

提示:不懂的小伙伴可以去官网或者其他地方了解了解哦

以下就是我编写的代码,我将它封装到函数里面的,如果不想用函数,可以根据需要改改哈

import pandas as pdimport openpyxl'''实现追加或者覆盖数据data:DataFramek类型数据excelname:工作簿名(注意路径!!!)sheetname:表名insert_type:w 或者 a+(当然可以自己定义啦)'''def append_excel(data,excelname,sheetname,insert_type):original_file = pd.DataFrame(pd.read_excel(excelname, sheet_name=sheetname)) # 读取原数据文件和表original_row = original_file.shape[0] # 获取原数据的行数if insert_type=='w': #选择写入excel数据方式,w为覆盖模式,a+为追加模式startrow=1elif insert_type=='a+':startrow=original_row + 1book = openpyxl.load_workbook(excelname)writer = pd.ExcelWriter(excelname, engine='openpyxl')writer.book = bookwriter.sheets = dict((ws.title, ws) for ws in book.worksheets)# 将data数据写入Excel中data.to_excel(writer, sheet_name=sheetname, startrow=startrow, index=False, header=False)writer.save()if __name__ == '__main__':append_excel()#记得传入参数哦

其实这段代码我觉得真的很好用,如果你有一个工作簿里面很多表,而且需求是在原表基础上修改数据,那么这段代码将解决你的问题,如果其中有错误,望指出,或者有更好的办法的话,一定要告知我呀(* ̄︶ ̄)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。