11-Python操作excel
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的更多相关文章
- python操作excel表格(xlrd/xlwt)
最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...
- Python 利用Python操作excel表格之openyxl介绍Part2
利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436) ## 绘图 c = LineChart() ...
- 【转】python操作excel表格(xlrd/xlwt)
[转]python操作excel表格(xlrd/xlwt) 最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异, ...
- python操作excel xlrd和xlwt的使用
最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...
- python 操作excel 的包 函数
###########sample 1 https://blog.csdn.net/chengxuyuanyonghu/article/details/54951399 python操作excel主要 ...
- 运营的Python指南 - Python 操作Excel
这是一份写给运营人员的Python指南.本文主要讲述如何使用Python操作Excel.完成Excel的创建,查询和修改操作. 相关代码请参考 https://github.com/RustFishe ...
- python - 操作excel表格
说明:由于公司oa暂缺,人事妹子在做考勤的时候,需要通过几个excel表格去交叉比对员工是否有旷工或迟到,工作量大而且容易出错. 这时候it屌丝的机会来啦,花了一天时间给妹子撸了一个自动化脚本. 1. ...
- 用Python操作excel文档
使用Python第三方库 这一节我们学习如何使用Python去操作Excel文档.如果大家有人不知道Excel的话,那么建议先学一学office办公基础.这里想要操作Excel,必须安装一个Pytho ...
- 转载:python操作excel表格(xlrd/xlwt)
python操作excel表格(xlrd/xlwt) 最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而 ...
- Python操作Excel
一.系统性学习 对于操作Excel,需要Xlrd/xlwt这两个模块,下面推荐出系统性学习的网址: python操作Excel读写--使用xlrd 官方文档 Python 使用 Xlrd/xlwt 操 ...
随机推荐
- docker for ubuntu 18 安装
官网地址: https://docs.docker.com/install/linux/docker-ce/ubuntu/ docker的作用:解决不同机器之间的环境差异问题,方便迁移. 0. 卸载旧 ...
- 手游开发之lua的class函数详解
众所周知,lua没有类这个概念但其通过table实现了面向对象的“类”.在cocos2dx引擎下提供了class(className, ...)函数方法名,因为在脚本开发中这个接口基本都会用来创建一个 ...
- 【转】Webdriver的PageObject改造By 张飞
Webdriver的PageObject改造 PageObject中提供了一个@FindBy注解,也非常好用,但由于其是一次性全部初始化所有的WebElement,对于当前还不存在于页面上的Eleme ...
- python读取es中的所有数据并计算md5然后进行持久化
#!/usr/bin/python import threading import json import time from elasticsearch import Elasticsearch f ...
- 转*SqlSever查询某个表的列名称、说明、备注、注释,类型等
@原文地址 关键部分如下: ------sqlserver 查询某个表的列名称.说明.备注.类型等 SELECT 表名 then d.name else '' end, 表说明 then isnull ...
- celery 应用
开启服务 #日志 级别 celery -A write_file worker -l info file name :write_file.pyfrom celery import Celery ce ...
- python3 经典排序方法
1.插入排序: def nsert_sort(list): for i in range(len(list)): for j in range(i): if list[i] < list[j]: ...
- Vs2017的git真S B
1.先是无法克隆 2.修改用户还是无法克隆 3.修改用户凭据还是无法克隆 4.重装机器,将vs改为2017企业版,他妈的还是无法克隆 5.测试发现我这台机子无法克隆,其他的可以 6.提示永远是 Git ...
- Django中发件邮箱的设定
Django中发件邮箱的设定: EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'#邮件发送到邮件服务器 #EMAIL_BACK ...
- java - Integer、int 、String相互转换总结
一下子还真记不清这三种数据类型之间的转换方法,所以做个小笔记. public class Test03 { public static void main(String[] args) { //int ...