import  xlrd
from xlutils.copy import copy
class ExcelUtil:
def __init__(self,excel_path=None,index=None):
if excel_path == None:
excel_path = 'C:\\Users\\Administrator\\Desktop\\ooo.xls'
if index == None:
index = 0
self.data = xlrd.open_workbook(excel_path)
self.table = self.data.sheets()[index]
self.read_value = self.data
self.write_data = copy(self.data)
#按照每行的List,添加到一个大的List里面
def get_data(self):
ddt_list = []
rows = self.get_lines()
if rows!=None:
for i in range(rows):
col = self.table.row_values(i)
ddt_list.append(col)
return ddt_list
return None
def get_lines(self):#获取excel的行数
rows = self.table.nrows
if rows>=1:
return rows
return None
def get_col_value(self,row,col):#获取单元格的数据
if self.get_lines()>row:
data = self.table.cell(row,col).value
return data
return None
def write_value(self,row,value):#写入数据
self.write_data.get_sheet(0).write(row,2,value) #2是要写入的列数,从0开始的
self.write_data.save('C:\\Users\\Administrator\\Desktop\\ooo.xls')
if __name__ == '__main__':
a = ExcelUtil()
zonghanshu=a.get_lines()
for i in range(1,zonghanshu):
A = str(a.get_col_value(i,1))
suanfa = str(a.get_col_value(i,0)).replace('操作货量',A) #读取excel算法,替换其中的参数。
jieguo=round(eval(suanfa),2)#round 结果保留两位小数,eval 计算
a.write_value(i,jieguo)

python操作excel的读、计算、写----xlrd、copy的更多相关文章

  1. Python操作excel的几种方式--xlrd、xlwt、openpyxl

    openpyxl xlrd xlwt   在处理excel数据时发现了xlwt的局限性–不能写入超过65535行.256列的数据(因为它只支持Excel 2003及之前的版本,在这些版本的Excel中 ...

  2. 14、java实现poi操作excel,包括读和写日期格式,并且设置字体样式

    1.首先大家来看导出的结果 下边就是导出的代码了 protected void testExcel() throws IOException{ String path=getServletContex ...

  3. 自动化办公:python操作Excel

    1.安装 -- upgrade pippython -m pip install --- install pypipip install pypi 执行python setup.py install进 ...

  4. python操作excel表格(xlrd/xlwt)

    最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...

  5. 【转】python操作excel表格(xlrd/xlwt)

    [转]python操作excel表格(xlrd/xlwt) 最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异, ...

  6. python操作excel xlrd和xlwt的使用

    最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...

  7. 转载:python操作excel表格(xlrd/xlwt)

    python操作excel表格(xlrd/xlwt)   最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而 ...

  8. Python操作excel(xlrd和xlwt)

    Python操作excel表格有很多支持的库,例如:xlrd.xlwt.openpyxl.win32com,下面介绍使用xlrd.xlwt和xlutils模块这三个库不需要其他的支持,在任何操作系统上 ...

  9. 基于.net EF6 MVC5+WEB Api 的Web系统框架总结(4)-Excel文件读、写操作

    Excel文件读.写可以使用Office自带的库(Microsoft.Office.Interop.Excel),前提是本机须安装office才能运行,且不同的office版本之间可能会有兼容问题.还 ...

随机推荐

  1. 使用docker安装tomcat服务

    1. 拉取官方tomcat镜像 docker pull tomcat 2. 创建tomcat容器目录 [root@WSyHRQ171356 /]# mkdir /tomcat/test 3. 创建测试 ...

  2. centos7 RTMP直播服务器搭建

    首先需要下载 nginx-1.8.1 : http://nginx.org/download/nginx-1.8.1.tar.gz nginx-rtmp-module : https://github ...

  3. eclipse 查看变量或方法在什么地方被调用的快捷键和快速显示方法入参提示信息

    为了用eclipse写代码的时候,不用方向键移动光标,可以设置如下快捷键, Line Up:Alt+i   光标向上 Line Down:Alt+k 光标向下 Line Start:Alt+u  移到 ...

  4. 转:spring配置文件中xsd引用问题

    来自:http://blog.csdn.net/dingqinghu/article/details/46758671

  5. c# 正则

    Regex reg = new Regex("^do(es)(xy)?$"); var result = reg.Match("doesxy"); foreac ...

  6. VS Code打开使用IDEA搭建的Spring Boot项目运行提示"snakeyaml was not found on the classpath"错误

    今天用VS Code打开之前基于IDEA搭建并开发的Spring Boot项目,启动调试后出现如下错误: 17:43:05.214 [restartedMain] ERROR org.springfr ...

  7. 怎么用js编写1——100的质数?

    这里来自csdn问答的一个问题,怎么用js编写1——100的质数? http://ask.csdn.net/questions/214429 质数也就是素数,即只能被1和自身整除的数,因此可以构造循环 ...

  8. jquery面试(2)

    DOM操作——怎样添加.移除.移动.复制.创建和查找节点? (1)创建新节点 createDocumentFragment() //创建一个DOM片段 createElement() //创建一个具体 ...

  9. linux应用以及常用命令

    各目录作用"/" :Linux文件系统的入口.也是最高一级的目录."/bin":基本系统所需要的命令,功能和"/usr/bin"类似,这个目 ...

  10. redis(四)--简单实现Redis缓存中的排序功能

    在实现缓存排序功能之前,必须先明白这一功能的合理性.不妨思考一下,既然可以在数据库中排序,为什么还要把排序功能放在缓存中实现呢?这里简单总结了两个原因:首先,排序会增加数据库的负载,难以支撑高并发的应 ...