python关于openpyxl的二次开发
from openpyxl import load_workbook
class Excel_util:
def __init__(self,path):
self.path=path
# 加载输入路径的文件
self.wb=load_workbook(self.path)
#获取excel的sheet页
def get_sheetname(self):
return self.wb.sheetnames
#输入指定sheetname
def __call__(self, name):
return self.wb[name]
#读取excel内容,name是sheet页的名字,start和end是行或者列的起始
def read_excel(self,name,start,end=None):
"""
:param name = sheetname
cell_range: util column(A-C) eg: start="A" end="C"
util row (1-3) eg: start=1 end=3
:return:
"""
#把start和end都设为大写
start=str(start).upper()
if not end:
end=start
end = str(end).upper()
sheet = self.__call__(name)[start:end]
try:
return [[cell.value for cell in _] for _ in sheet ]
except:
return [cell.value for cell in sheet]
#单个单元格写入数据
def write_cell_data(self,name,cellname,data):
cell=self.__call__(name)[cellname]
cell.value=data
self.wb.save(self.path)
#最后一行追加插入数据,需要list
def append_row_data(self,name,data: list):
self.__call__(name).append(data)
self.wb.save(self.path) # data="测试"
# data1=["ceshi"]
# a=Excel_util("D:\zhijing_work\测试数据\测试文件\yetangjian.xlsx").read_excel("Sheet1",1,3)
# print(a)
# b=Excel_util("D:\zhijing_work\测试数据\测试文件\yetangjian.xlsx")
# b.write_cell_data("Sheet1","B5",data)
# b.append_row_data("Sheet1",data1)
python关于openpyxl的二次开发的更多相关文章
- Github Python计算器开源项目 二次开发--增加函数图形
先上原项目链接:https://github.com/xhf79/Calculator_pyqt python+Qt 开发的计算器 原项目界面和功能如图所示: 科学计算的内容基本都有,但按照项目的提示 ...
- Python 学习笔记(二)开发环境的搭建
安装Python windows 下安装: 下载地址:https://www.python.org/downloads Python的版本 3.x 是趋势 2.x 还在被大量使用 至于使用2.x 还是 ...
- Python科学计算(二)windows下开发环境搭建(当用pip安装出现Unable to find vcvarsall.bat)
用于科学计算Python语言真的是amazing! 方法一:直接安装集成好的软件 刚开始使用numpy.scipy这些模块的时候,图个方便直接使用了一个叫做Enthought的软件.Enthought ...
- Python什么是二次开发的意义?python在.net项目采用
任何人都知道python在.net该项目是做什么的啊? 辅助用途,用作"二次开发"..net站点的话python主要是CGI才用.能够用python编写B/S程序. 解释一下二次开 ...
- Python之虚拟机操作:利用VIX二次开发,实现自己的pyvix(系列一)成果展示和python实例
在日常工作中,需要使用python脚本去自动化控制VMware虚拟机,现有的pyvix功能较少,而且不适合个人编程习惯,故萌发了开发一个berlin版本pyvix的想法,暂且叫其OpenPyVix.O ...
- Autocad中使用命令来调用python对Autocad二次开发打包后的exe程序
在Autocad中直接调用Python二次开发程序是有必要的,下面介绍一种方法来实现这个功能: 其基本思路是:先将二次开发的程序打包为可执行程序exe,然后编写lsp文件,该文件写入调用exe程序的语 ...
- 【转】Jenkins 二次开发 - Python
马克,备用: Jenkins 二次开发 https://testerhome.com/topics/14988?locale=zh-TW python-jenkins api 文档:https://p ...
- 最好最实用的PHP二次开发教程
◆二次开发 1.什么是二次开发? 二次开发,简单的说就是在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能和效果,一般来说都不会改变原有系统的内核. 2.为什么要二次开发? 随着信息化技术 ...
- ODI KM二次开发手册
ODI KM二次开发手册 分类: ODI(16) 目录(?)[+] 1 引言 1.1 编写目的 本手册面向的读者对象为具备数据集成业务知识及对ODI操作了解的开发人员,作为其完成基于ODI基础上K ...
随机推荐
- oracle查看当前正在使用的数据库
select name from V$DATABASE; 也可以用 select SYS_CONTEXT('USERENV','INSTANCE_NAME') from dual;
- 痞子衡嵌入式:i.MXRT连接特殊Octal Flash时(OPI DTR模式下反转字节序)下载与启动注意事项(以MX25UM51245为例)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是OPI DTR模式下反转字节序的Octal Flash在i.MXRT下载与启动注意事项. 在恩智浦官方参考设计板 MIMXRT595-E ...
- CSS快速入门(四)
目录 CSS快速入门(四) 浮动 float属性 clear属性 浮动解决的问题及其影响 解决父标签塌陷的方法 浮动案例 定位 什么是脱离文档流 定位的两种方法 position定位 static定位 ...
- rust 实战 - 实现一个线程工作池 ThreadPool
如何实现一个线程池 线程池:一种线程使用模式.线程过多会带来调度开销,进而影响缓存局部性和整体性能.而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务.这避免了在处理短时间任务时创建与销毁线 ...
- springBoot2.*使用redis集群/单机方法
在springboot1.x系列中,其中使用的是jedis,但是到了springboot2.x其中使用的是Lettuce. 此处springboot2.x,所以使用的是Lettuce.关于jedis跟 ...
- shell——eval exec
eval # cat test.sh echo \$$# eval "echo \$$#" # sh test.sh a b c $3 c shell的内建命令exec将并不启动新 ...
- 浅谈Java之属性赋值的先后顺序
首先,什么是属性? 属性也叫作成员变量,是类的组成部分之一. 我们都知道Java一个类可以包含有: 属性,或者成员变量 构造器 方法,或者叫函数 代码块,或者叫程序段 内部类 那么结合这些,我们就有了 ...
- Docker使用Dockerfile构建新的镜像
构建镜像步骤; 1.创建Dockerfile文件,该文件是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明. vim Dockerfile //每一个指令都会在镜像上创建一个新 ...
- etcd受损节点重新加入集群
文章目录 查看当前集群状态 删除受损etcd节点的数据 数据受损节点重新加入集群 修改etcd启动参数,重启etcd 由于自己的误操作,将A节点的etcd备份数据复制到B节点的etcd备份节点目录下, ...
- Dubbo扩展点应用之二负载均衡
负载均衡其本质就是将请求分摊到多个操作单元上进行,从而共同完成工作任务.其策略主要用于客户端春常在多个提供者时根据算法选择某个提供者.在集群负载均衡时,Dubbo提供了多种均衡策略(包括随机.轮询.最 ...