python中 xlrd/xlwt模块详解
python中 xlrd/xlwt模块详解
1、什么是xlrd模块
python操作excel主要用到xlrd和xlwt两个库,即xlrd是读excel,xlwt是写excel库
一、安装xlrd模块
cmd窗口下 pip install xlrd
二、使用介绍
# -*- coding=utf-8 -*-import xlrd #导入读excel的模块#打开excel filename='C:/Users/YKDZ065/PycharmProjects/0830/jianlc/cases/Test.xlsx' data=xlrd.open_workbook(filename,"rb")#获取excel工作表 mysheets=data.sheets() #获取工作表list#通过索引获取第一个sheet mysheet=mysheets[0]#通过索引顺序获取 #mysheet=data.sheet_by_index(0)#通过名称获取 #mysheet=data.sheet_by_name(u'Sheet1')#获取行数和列数 nrows=mysheet.nrows print nrows ncols=mysheet.ncols print ncols#获取一行和一列 #myRowValues=mysheet.row_values(0) #print myRowValues #myColValues=mysheet.col_values(0) #print myColValues#读取单元格数据 for i in range(ncols):for j in range(nrows):myCell=mysheet.cell(j,i)myCellValue=myCell.valueprint myCellValue
2、使用xlwt模块写入excel文件
# -*- coding=utf-8 -*- #导入模块 import xlwt#创建excel工作薄 myWorkbook=xlwt.Workbook()#添加Excel工作表 mySheet=myWorkbook.add_sheet("a Test Sheet")#写入数据 myStyle=xlwt.easyxf('font: name Times New Roman, color-index red, bold on', num_format_str='#,##0.00') #数据格式 mySheet.write(1,1,1234.56,myStyle) mySheet.write(2,0,1) mySheet.write(2,1,1) mySheet.write(2,2,xlwt.Formula("A3+B3"))myWorkbook.save("excelFile.xlsx")
3、xlutils结合xlrd可以达到修改excel文件目的
# -*- coding=utf-8 -*- #修改excel文件 #导入包 import xlrd from xlutils.copy import copy filename='C:/Users/YKDZ065/PycharmProjects/0830/jianlc/cases/Test.xlsx' workbook=xlrd.open_workbook(filename) workbooknew=copy(workbook) ws=workbooknew.get_sheet(0) ws.write(0,1,"changed") workbooknew.save("Testcopy.xlsx")
# -*- coding=utf-8 -*- # author=zyq import xlrd #读excel的模块 import xlwt #写excel的模块 #操作excel文件 def opExcel():filename='excelFile.xlsx' #定义一个excel文件 excelFile=xlrd.open_workbook(filename) #打开excel文件 table=excelFile.sheets()[0] #通过索引获取第一个sheet表 #table=excelFile.sheet_by_index(0) #通过索引获取第一个sheet表 #table=excelFile.sheet_by_name(u"a Test Sheet")# 通过名字获取sheet表 #获取整行的值 print table.row_values(0) #获取第一行的值,以列表的形式返回 print table.col_values(0) #获取第一列的值,以列表的形式返回 #获取行数和列表 print table.nrows #获取行数 print table.ncols #获取列表 #根据行数遍历所有行数的值 for i in range(table.nrows):print table.row_values(i)#获取单元格的值 cell_A1=table.cell(0,0).value #获取A1位置的数据,行和列的所有位置都是从0开始的 print cell_A1#使用行列所有确定单元格的数据 cell_A1=table.row(0)[0].valueprint cell_A1#获取所有单元格的值 for i in range(table.nrows):for j in range(table.ncols):print table.cell(i,j).valueopExcel() # 对excel的写操作 def writeExcel():#创建excel mybook=xlwt.Workbook()#添加excel工作表 mySheet=mybook.add_sheet("a")#写入数据 mySheet.write(4,4,'test')mybook.save("1.xlsx") writeExcel()
# -*- coding: utf-8 -*-
import xdrlib ,sys
import xlrd
def open_excel(file= 'file.xls'):
try:
data = xlrd.open_workbook(file)
return data
except Exception,e:
print str(e)
#根据索引获取Excel表格中的数据 参数:file:Excel文件路径 colnameindex:表头列名所在行的所以 ,by_index:表的索引
def excel_table_byindex(file= 'file.xls',colnameindex=0,by_index=0):
data = open_excel(file)
table = data.sheets()[by_index]
nrows = table.nrows #行数
ncols = table.ncols #列数
colnames = table.row_values(colnameindex) #某一行数据
list =[]
for rownum in range(1,nrows):
row = table.row_values(rownum)
if row:
app = {}
for i in range(len(colnames)):
app[colnames[i]] = row[i]
list.append(app)
return list
#根据名称获取Excel表格中的数据 参数:file:Excel文件路径 colnameindex:表头列名所在行的所以 ,by_name:Sheet1名称
def excel_table_byname(file= 'file.xls',colnameindex=0,by_name=u'Sheet1'):
data = open_excel(file)
table = data.sheet_by_name(by_name)
nrows = table.nrows #行数
colnames = table.row_values(colnameindex) #某一行数据
list =[]
for rownum in range(1,nrows):
row = table.row_values(rownum)
if row:
app = {}
for i in range(len(colnames)):
app[colnames[i]] = row[i]
list.append(app)
return list
def main():
tables = excel_table_byindex()
for row in tables:
print row
tables = excel_table_byname()
for row in tables:
print row
if __name__=="__main__":
main()
python中 xlrd/xlwt模块详解相关推荐
- Python中使用httpx模块详解
导入httpx In [25]: import httpx 获取一个网页 In [26]: r = httpx.get("https://httpbin.org/get")In [ ...
- python中json模块博客园_Python中的Json模块详解
Python中的Json模块详解 Json(JavaScript Object Notation)它是一种轻量级的数据交换格式,具有数据格式简单,读写方便易懂等很多优点.许多主流的编程语言都在用它来进 ...
- Python中的高级数据结构详解
这篇文章主要介绍了Python中的高级数据结构详解,本文讲解了Collection.Array.Heapq.Bisect.Weakref.Copy以及Pprint这些数据结构的用法,需要的朋友可以参考 ...
- Python之ruamel.yaml模块详解(三)| ruamel.yaml与pyyaml的区别
Python之ruamel.yaml模块详解(三)| ruamel.yaml与pyyaml的区别 12 默认支持Yaml1.2 13 Py2和Py3重新整合 14 修复 15 测试 16 API 接前 ...
- 站长在线Python精讲:在Python中函数的调用详解
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中函数的调用详解>.本文的主要内容有:调用函数的基本语法和调用自定义函数的实例讲解. 目录 1.调用函数的基本 ...
- 站长在线Python精讲:Python中正则表达式的语法详解
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<Python中正则表达式的语法详解>.本知识点主要内容有9点:行定位符.元字符.限定符.字符集.排除字符.选择字符.转义字符 ...
- python中的super用法详解_【Python】【类】super用法详解
一.问题的发现与提出 在Python类的方法(method)中,要调用父类的某个方法,在Python 2.2以前,通常的写法如代码段1: 代码段1: class A: def __init__(sel ...
- python中的super用法详解_Python中super函数用法实例分析
本文实例讲述了python中super函数用法.分享给大家供大家参考,具体如下: 这是个高大上的函数,在python装13手册里面介绍过多使用可显得自己是高手 23333. 但其实他还是很重要的. 简 ...
- python classmethod_对Python中的@classmethod用法详解
在Python面向对象编程中的类构建中,有时候会遇到@classmethod的用法. 总感觉有这种特殊性说明的用法都是高级用法,在我这个层级的水平中一般是用不到的. 不过还是好奇去查了一下. 大致可以 ...
最新文章
- 开源社区的危机:拒绝被“白嫖”?2大著名项目遭作者破坏
- TIOBE 1月编程语言排行榜:C语言再度「C 位」出道,Python惜败
- python字典多层嵌套
- vc2005编译ffmpeg以及ffplay
- VirtraulBox中安装Ubuntu16.04
- js除法与C语言除法,JS算术运算符及用法
- 基于nuxt和iview搭建OM后台管理系统实践(2)-quill富文本组件的封装
- Markdown编辑器模板
- 雷军曾被马云夫人张瑛数落一个多小时?当事人回应:都是谣言
- WEB测试总结 (架构,设计)精华部分(转)
- 基于高斯分布和OneClassSVM的异常点检测
- WPF Grid布局
- python类中的self参数和cls参数
- Oracle学习技巧
- oracle imdmp方式导入dmp文件
- 360的网络流量监测
- IBM 开源图形终端Kui框架
- Mac之MySQL初始数据库密码问题
- Java实现矩阵运算——矩阵乘法、矩阵转置、自动填充矩阵行
- grpc、https、oauth2等认证专栏实战17:grpc-go自定义认证之base64验证介绍
热门文章
- [含论文+源码等]基于HTML5,DIV CSS实现的宠物狗个性化服务网站前端(静态网页毕业设计)web前端毕设
- Python爬音乐--qq
- 解决unix:///var/run/supervisor/supervisor.sock no such file问题
- Linux中搭建 Postfix 邮件服务器
- June 18(th)
- 【强烈推荐】人工智能系列文章推送公告!!!
- git的一些基本命令总结
- Python(py3fdfs)上传到fastdfs配置store_serv.ip_addr问题
- 存储故障时的ORA-7445错误
- Windows Server 2008 R2 安装SP1补丁出错(0x800f0818)