1、python操作excel需要用到的库

python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。可以直接pip安装这两个库,pip install xlrd 、pip install xlwt

2、python封装常用读取excel方法

# coding:utf-8
import xlrd
import sys # 解决Unicode equal comparison failed to convert both arguments to Unicode - interpreting问题
# uncode编码警告:在unicode等价比较中,把两个参数同时转换为unicode编码失败。中断并认为他们不相等
# windows下的字符串str默认编码是ascii,而python编码是utf8
reload(sys)
sys.setdefaultencoding('utf8') class OperExcel:
def __init__(self, filename=None, sheet_id=None):
if filename:
self.filename = filename
self.sheet_id = sheet_id
else:
self.filename = '../dataconfig/test.xlsx'
self.sheet_id = 0
self.data = self.get_dataBySheetId() # 根据sheetid获取sheet内容
def get_dataBySheetId(self):
data = xlrd.open_workbook(self.filename)
tables = data.sheets()[self.sheet_id]
return tables # 根据sheet名称获取sheet内容
def get_dataBySheetName(self,filepath,sheetname):
data = xlrd.open_workbook(filepath)
tables = data.sheet_by_name(sheetname)
return tables # 获取sheet表行数
def get_lines(self):
tables = self.data
return tables.nrows # 根据行列值获取单元格内容
def get_cell_value(self, row, col):
tables = self.data
return tables.cell_value(row, col) # 根据列头名称,获取所在列Index
def get_columnindex(self, colName):
tables = self.data
columnIndex = None
for i in range(tables.ncols):
if (tables.cell_value(0, i) == colName):
columnIndex = i
break
return columnIndex   # 根据列Index和单元格值获取所在行
def get_rowIndex_ByColIndexAndValue(self,colIndex,cellValue):
tables = self.data
rowIndex = None
for i in range (tables.nrows):
if (tables.cell_value(i,colIndex) == cellValue):
roeIndex = i
break;
return i if __name__ == '__main__':
oper = OperExcel()
print oper.get_lines()
print oper.get_cell_value(1, 1)
print oper.get_columnindex('密码')
print oper.get_rowIndex_ByColIndexAndValue(1,'ww123456')
print oper.get_dataBySheetName('../dataconfig/test.xlsx','Sheet1').cell_value(1,1)

11-Python操作excel的更多相关文章

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

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

  2. Python 利用Python操作excel表格之openyxl介绍Part2

    利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436) ## 绘图 c = LineChart()    ...

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

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

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

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

  5. python 操作excel 的包 函数

    ###########sample 1 https://blog.csdn.net/chengxuyuanyonghu/article/details/54951399 python操作excel主要 ...

  6. 运营的Python指南 - Python 操作Excel

    这是一份写给运营人员的Python指南.本文主要讲述如何使用Python操作Excel.完成Excel的创建,查询和修改操作. 相关代码请参考 https://github.com/RustFishe ...

  7. python - 操作excel表格

    说明:由于公司oa暂缺,人事妹子在做考勤的时候,需要通过几个excel表格去交叉比对员工是否有旷工或迟到,工作量大而且容易出错. 这时候it屌丝的机会来啦,花了一天时间给妹子撸了一个自动化脚本. 1. ...

  8. 用Python操作excel文档

    使用Python第三方库 这一节我们学习如何使用Python去操作Excel文档.如果大家有人不知道Excel的话,那么建议先学一学office办公基础.这里想要操作Excel,必须安装一个Pytho ...

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

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

  10. Python操作Excel

    一.系统性学习 对于操作Excel,需要Xlrd/xlwt这两个模块,下面推荐出系统性学习的网址: python操作Excel读写--使用xlrd 官方文档 Python 使用 Xlrd/xlwt 操 ...

随机推荐

  1. jQuery取得radio的值 取select得值

    获取一组单选按钮对象: var obj_payPlatform = $('#wrap input[name="payMethod"]'); 获取被选中按钮的值 : var val_ ...

  2. 记第一次XSS实战

    前两天偶然挖到一个XSS,在我低谷期的时候给了我些动力,遂写下这篇博客记录 随手在一个搜索框中测试,发现有反应 观察一下标签,需要">把前面的闭合,然后<a 把后面的标签闭合 结 ...

  3. Spring:Ioc和DI

    一.摘要         本文为作者搜集的Spring关于IoC/DI相关知识的记录整理笔记.介绍了IoC(控制反转)是一种设计原则,用于降低代码的耦合度.介绍了IoC是通过BeanDefinitio ...

  4. vue加elementui开发的分页显示

    由于我的是公共引入样式表和css表所以,将公共的也写出来了(我接手的项目为基于vue开发的) 公共的index.html 引入js <script src="{MODULE_URL}s ...

  5. mysql学习笔记--数据库预处理

    一.概念 1. 预编译一次,可以多次执行.用来解决一条sql语句频繁执行的问题 2. 语法 a. 预处理语句:preapre 预处理名字 from 'sql语句' b. 执行预处理:execute 预 ...

  6. Android Toast 工具类

    android  中常用系统吐司工具类 package cn.yhq.utils; import android.content.Context; import android.widget.Toas ...

  7. 实时ETL

    传统的ETL通常采用批处理的方式,一般来说是每天的夜间进行,当天的数据要到第二天才可以获得.随着数据仓库技术的逐步成熟,企业对数据仓库时间延迟的要求更高,希望达到零延迟,也就出现了实时ETL. 实时E ...

  8. TreeView的三种状态,全选,全不选,半选中

    我知道的设置treeview节点的三种状态,如果不是买的控件,那么通过代码,只能设置两种状态,我知道的有三种方法, 第一种是重写treeview,第二种是把三种状态做成小图标,让节点复选框随着不同的状 ...

  9. odoo 数据库到期提醒

  10. android一个app打开另一个app的指定页面

    一个app打开另一个app的指定页面方法 有以下几种 1.通过包名.类名 2.通过intent的 action 3.通过Url 方案1. ComponentName componentName = n ...