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

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

首先了解的是需要用到的库: pandas openpyxl
提示:不懂的小伙伴可以去官网或者其他地方了解了解哦

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

import pandas as pd
import 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()     #记得传入参数哦

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/565678.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿尔卡特交换机配置_阿尔卡特交换机上常用命令

阿尔卡特交换机上常用命令-> show vlan 显示VLAN配置信息。-> show vlan port 显示VLAN端口信息。-> show vlan port 1/2 显示指定端口(1/2)VLAN信息。 -> show spantree ports forwarding显示生成树转发端口信息。 -> show spantree ports blocking 显示生成数…

java - 人员分配组合

在进行体育赛事比赛的时候往往会因为对比赛队员的组合排序而烦恼, 下面程序能够帮助进行队列组合的分配。 有两个乒乓球队进行比赛,各出三人。甲队为 a,b,c 三人,乙队为 x,y,z 三人。已抽签决定比赛名单。 有人向队员打听比赛的名单。a 说他…

【youcans 的 OpenCV 例程200篇】127. 形态算法之细化

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程 200 篇】127. 形态算法之细化 3. 形态学算法 形态学处理的主要应用是提取图像中用来表示和描述形状的元…

linux swap扩大_linux 扩展swap

在服务器上把硬盘接好,启动linux,以root登陆。比如我新加一块SCSI硬盘,首先用fdisk -l 查看新增硬盘的盘符,例如/dev/sdb;将其分成三个区:#fdisk /dev/sdb进入fdisk模式:Command (m for help):p //查看新…

【youcans 的 OpenCV 例程200篇】128. 形态算法之骨架 (skimage)

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程200篇】128. 形态算法之骨架 (skimage) 3. 形态学算法 形态学处理的主要应用是提取图像中用来表示和描述…

java -从小到大排序

用java程序对几个数字进行排序并按照从小到大输出。 结果演示 代码展示 package com.zsh;import java.util.Arrays; import java.util.Scanner;public class paixu {public static Scanner input new Scanner(System.in);public static void main(String[] args) {long sta…

车联网大数据框架_大数据基础:ORM框架入门简介

作为大数据开发技术者,需要掌握扎实的Java基础,这是不争的事实,所以对于Java开发当中需要掌握的重要框架技术,也需要有相应程度的掌握,比如说ORM框架。今天的大数据基础分享,我们就来具体讲一讲ORM框架入门…

【youcans 的 OpenCV 例程200篇】129. 形态算法之骨架 (重建开运算)

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程200篇】129. 形态算法之骨架 (重建开运算) 3. 形态学算法 形态学处理的主要应用是提取图像中用来表示和…

java - 根据条件求对应数字

根据相应的条件求对应的数字是多少,如 : 一个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完全平方数,请问该数是多少 结果展示 代码展示 package com.zsh;public class pinfs {public static void mai…

linux下将多个文件去除文件头合并_命令行生存指南:拆分与合并 | Linux 中国

这一节将会介绍 Linux 命令行下的文件拆分与合并操作。作者:Psiace(本文字数:2706,阅读时长大约:3 分钟)作为一个工程师,我们经常与命令行打交道,但除了工作用的命令,你是…

【youcans 的 OpenCV 例程200篇】130. 形态学之提取水平和垂直线

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程200篇】130. 形态学之提取水平和垂直线 3. 形态学算法 形态学处理的主要应用是提取图像中用来表示和描述…

java - 求和

算术运算符中求和运算: 对于数字的求和计算我们通常使用计算器,但是对于特别复杂的数进行求和计算机是无法满足我们的,那么除了计算器还有什么方法呢? 当然有了,没有一个算法是一个程序搞定不了的。 计算分数序列&…

c语言5的阶乘流程图_5 种前途迷茫的编程语言

code小生 一个专注大前端领域的技术平台公众号回复Android加入安卓技术群与本文对立文:5 门前途美好的编程语言译文链接:http://www.codeceo.com/article/5-die-programming-language.html英文原文:5 Programming Languages Marked for Death…

【youcans 的 OpenCV 例程200篇】131. 形态学重建之竖线字符提取

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程200篇】131. 形态学重建之竖线字符提取 4. 形态学图像重建 形态学重建的核心是测地膨胀和测地腐蚀。 图…

java - 判断任意一天是这年的第几天

进入程序之后,我们根据提示输入年份,点击Enter之后会让我们输入月份,点击Enter之后会让我们输入日,当我们按要求输入年月日之后点击Enter按键之后会计算输入的日期是输入年份的第几天。 原理分析: 1.年份的提示输入 2…

【youcans 的 OpenCV 例程200篇】132. 形态学重建之孔洞填充算法

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程200篇】132. 形态学重建之孔洞填充算法 4. 形态学图像重建 形态学重建的核心是测地膨胀和测地腐蚀。 图…

c 包含其他文件_C语言:全局变量在多个c文件中公用的方法!

用C语言编写程序的时候,我们经常会遇到这样一种情况:希望在头文件中定义一个全局变量,然后包含到两个不同的c文件中,希望这个全局变量能在两个文件中共用。举例说明:项目文件夹project下有main.c、common.c和common.h三…

HTML5 新特性

HTML5 对以前的HTML内容进行了舍弃和添加,那么HTML5新增加了什么内容呢?让我们一起来看一下吧。 一、新增的语义化标签 1. header 2. nav 3. section 页面中的内容区块,例如:章节、页眉、页脚 4. hgroup 对页面中的内容区块的…

【youcans 的 OpenCV 例程200篇】133. 形态学重建之边界清除

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程200篇】133. 形态学重建之边界清除 4. 形态学图像重建 形态学重建的核心是测地膨胀和测地腐蚀。 图像的…

qdialog 返回值_QDialog exec()并获取结果值

我有子类QDialog来实现类似于QMessageBox的功能(我需要这个来允许定制)。它有一条短信和“确定”、“取消”按钮。我正在显示使用exec()使其阻塞的对话框。现在,当用户单击OK/Cancel时,如何返回true/false值?我尝试将按钮连接到setResult()&a…