python中使用to_excel时如何不覆盖原有数据来新建sheet页
经常通过各种三方库操作Excel时,会遇到各种问题。这个库不支持这个方法,那个库支持但是又会丢失原来的数据。。。。都是问题!
.
.
.
import openpyxl
import pandas as pd def add_sheet(data, excel_writer, sheet_name):
"""
不改变原有Excel的数据,新增sheet。
注:
使用openpyxl操作Excel时Excel必需存在,因此要新建空sheet
无论如何sheet页都会被新建,只是当sheet_name已经存在时会新建一个以1结尾的sheet,如:test已经存在时,新建sheet为test1,以此类推
:param data: DataFrame数据
:param excel_writer: 文件路径
:param sheet_name: 新增的sheet名称
:return:
"""
book = openpyxl.load_workbook(excel_writer.path)
excel_writer.book = book
data.to_excel(excel_writer=excel_writer, sheet_name=sheet_name, index=None, header=False) excel_writer.close() df = pd.DataFrame(['test', 'hello', 'world'])
excel_writer = pd.ExcelWriter(r"C:\Users\Desktop\test.xlsx", engine='openpyxl') add_sheet(df, excel_writer, 'test')
结束。。
python中使用to_excel时如何不覆盖原有数据来新建sheet页的更多相关文章
- Pandas:to_excel时如何不覆盖之前的Excel表、ExcelWriter类
如果只是想把一个DataFrame保存为单独的一个Excel文件,那么直接写: data.to_excel('xxx.excel','sheet1',index=False) 但是这样做,只会保存为单 ...
- 在Python中写入文件时,权限被拒绝错误
我想创建一个文件并在python中写一些整数数据.例如,我有一个变量abc = 3,我试图将它写入一个文件(它不存在,我假设python将自己创建): fout = open("newfil ...
- 在python中如何比较两个float类型的数据是否相等
奇怪的现象 前几天跟同事聊起来,在计算机内部float比较是很坑爹的事情.比方说,0.1+0.2得到的结果竟然不是0.3? >>> 0.1+0.2 0.300000000000000 ...
- 如何解决python中使用flask时遇到的markupsafe._compat包缺失的问题
在使用python进行GUI的程序编写时,使用flask时出现错误: 在使用pip freeze进行查看已下载的包时显示MarkupSafe与Jinjia2都已安装: 在网上查阅一些资料后发现,在py ...
- python中使用flask时遇到的markupsafe._compat包缺失的问题与解决
环境:windows7 + python3.6.0 在尝试使用python的flask时,按照flask的tutorial操作,装好flask.venv后,对tutorial中的hello.py进行运 ...
- python中json序列化时汉字变成编码的解决方式
我们在使用json模块时,如果被序列化对象中不包含汉字,当然没有任何问题,但是有汉字会被编译成unicode码: import json dic = {","sex":& ...
- Python中定义函数时参数有默认值的小陷阱
在定义函数的时候,如果函数的参数有默认值,有两种类型的参数,一种是整数,字符串这种不可变类型,另一种是列表这种可变类型,对于第一种情况没有什么特殊的地方,但是对于可变类型,有一个微妙的小陷阱. 可变类 ...
- python中调用函数时,参数顺序与参数赋值问题
设置类和函数如下:class MM(): def ff(self,url(1),method(2),data=None(3),cookie=None(4)): if method.lower()==& ...
- Python中从SQL型数据库读写dataframe型数据
Python的pandas包对表格化的数据处理能力很强,而SQL数据库的数据就是以表格的形式储存,因此经常将sql数据库里的数据直接读取为dataframe,分析操作以后再将dataframe存到sq ...
- input placeholder 在chrome 浏览器自动填充时,背景色覆盖原有背景图片问题。
user-block-name, .user-block-pwd { margin-bottom: 10%; text-align: center; position: relative; } .us ...
随机推荐
- Mac Parallels Desktop篇 安装Windows 10
Parallels Desktop安装Windows 10系统: 1.首先下载并安装Parallels Desktop ,下载 Windows 10 系统镜像 2.打开Parallels Deskto ...
- win10:你需要来自XXXX的权限才能对此文件夹进行更改
转载请注明来源:https://www.cnblogs.com/Sherlock-L/p/16769720.html 起因 软件运行失败,看报错信息是删除某个文件夹失败了,行吧,我自己来删.找到目标文 ...
- 宝塔部署 vue + thinkphp
部署https://blog.csdn.net/xinxinsky/article/details/105441164?spm=1001.2101.3001.6650.2&utm_medium ...
- SDN第二次实验
一.实验目的能够对Open vSwitch进行基本操作:能够通过命令行终端使用OVS命令操作Open vSwitch交换机,管理流表:能够通过Mininet的Python代码运行OVS命令,控制网络拓 ...
- Quartz 2D CGGradient与CGShading实现渐变的绘制
Quartz 提供了两种不透明的数据类型来创建渐变CGShading 和 CGGradient,你可以使用其中任何一个来创建轴向或径向渐变. 轴向渐变:沿着一个轴方向线性渐变 径向渐变:一个点为原型, ...
- 树莓派,脚本遍历当前目录下视频文件,并用omxplayer播放
事先准备好视频文件,文件名内包含视频尺寸信息,以方便构造 --win "x1 y1 x2 y2" 字符串. 通过 omxplayer -i filename 可查看视频尺寸 ...
- MySql索引底层原理(01)
目的:通过mysql获取数据,检索数据的原理来理解索引,以及如何利用好索引. 由于篇幅问题,可能会连载几篇文章. 从mysql获取一条数据说起: 我们知道,电脑的系统在获取数据的时候会旋转磁盘,然后移 ...
- python36
无限循环 如果条件判断语句永远为 true,循环将会无限的执行下去,如下实例: 实例 #!/usr/bin/python # -*- coding: UTF-8 -*- var = 1 while v ...
- C2驾驶车型
凡是自动挡的9座(包括9座)以下,车长6米以内的小型载客汽车(包含轿车.SUV.MPV):以及总质量在4500KG(包括4500KG)以下的.车长在6米(包括6米)以下的.核定载重质量在1500KG( ...
- Twenty-nine
组件的声明周期 声明周期(Life Cycle)是指一个组件从创建->运行->销毁的整个阶段,强调的是一个时间段. 声明周期函数:是由vue框架提供的内置函数,会伴随着组件的生命周期,自动 ...