python学习笔记(十):操作excel
一、python操作excel,python操作excel使用xlrd、xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的。这几个模块使用pip安装即可,下面是这几个模块的使用。
二、xlrd模块,xlrd模块用来读excel,具体用法如下:
import xlrd
#打开excel
wb=xlrd.open_workbook('abc.xlsx')#打开的这个excel必须存在,否则会报错
#获取所有sheet页的名字
print(wb.sheet_names())
#按名字查找第二张表单
# sheet=wb.sheet_by_name('abc2')#根据sheet页的名字获取sheet页
sheet = wb.sheet_by_index(0)#根据sheet页的索引获取sheet页
#获取sheet页的行数和列数
print(sheet.nrows)
print(sheet.ncols)
#打印每行信息
for rownum in range(sheet.nrows): #循环取每行的数据
print(sheet.row_values(rownum))#取每行的数据
#按照索引打印对应单元格内容
cell_A2=sheet.cell(0,1).value#获取指定单元格的值,第一个值是列,第二个值是行
print(cell_A2)
三、xlwt模块,xlwt模块用来写excel,写一个新的excel
import xlwt
title = [
'姓名','年龄','性别','分数'
]
stus = [['mary',20,'女',89.9],['mary',20,'女',89.9],['mary',20,'女',89.9],['mary',20,'女',89.9]]
#新建一个excel对象
wbk = xlwt.Workbook()
#添加一个名为 课程表的sheet页
sheet = wbk.add_sheet('stu')
for i in range(len(title)):#写入表头
sheet.write(0,i,title[i])#写入每行,第一个值是行,第二个值是列,第三个是写入的值
for i in range(len(stus)):
if i !=0:#如果不是表头的话
for j in range(4):
sheet.write(i,j,stus[i][j])#循环写入每行数据
#保存数据到‘test.xls’文件中
wbk.save('szz.xls')#保存excel必须使用后缀名是.xls的,不是能是.xlsx的
四、xlutils模块,xlutils模块用来修改excel的内容,不能直接修改原来的excel内容,必须得先复制一个新的excel,然后对这个新的excel进行修改,用法如下:
from xlrd import open_workbook#导入xlrd模块中打开excel模块
from xlutils.copy import copy#导入xlutils模块的复制excel模块
rb = open_workbook('szz.xls')
#通过sheet_by_index()获取的sheet
rs = rb.sheet_by_index(0)
#复制一个excel
wb = copy(rb)
#通过获取到新的excel里面的sheet页
ws = wb.get_sheet(0)
ws.write(1, 0, 'Lily')#写入excel,第一个值是行,第二个值是列
wb.save('szz_new.xls')#保存新的excel,保存excel必须使用后缀名是.xls的,不是能是.xlsx的
python学习笔记(十):操作excel的更多相关文章
- Python学习笔记_操作Excel
Python 操作Exel,涉及下面几个库: 1.xlrd 读取Excel文件 2.xlwt 向Excel文件写入,并设置格式 3.xlutils 一组Excel高级操作工具,需要先安装xlrd和xl ...
- Python学习笔记(十二)—Python3中pip包管理工具的安装【转】
本文转载自:https://blog.csdn.net/sinat_14849739/article/details/79101529 版权声明:本文为博主原创文章,未经博主允许不得转载. https ...
- python学习笔记:文件操作和集合(转)
转自:http://www.nnzhp.cn/article/16/ 这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句 ...
- python学习笔记7-excel操作
一.操作excel import xlwt book = xlwt.Workbook() #新建一个excel sheet = book.add_sheet('sheet1') #添加一个sheet页 ...
- python 学习笔记十六 django深入学习一 路由系统,模板,admin,数据库操作
django 请求流程图 django 路由系统 在django中我们可以通过定义urls,让不同的url路由到不同的处理函数 from . import views urlpatterns = [ ...
- python学习笔记(十)、文件操作
在前面我们了解到了没得模块,其中有一个模块为fileinput,为文件操作模块,不知道小伙伴们是否还记得? 1 打开文件 要打开文件,可以使用fileinput中的fileinput.input函数进 ...
- python学习笔记(十 二)、操作数据库
每一种语言都少不了多数据库进行各种操作. python支持多种数据库.有关python支持的数据库清单,请参阅:https://wiki.python.org/moin/DatabaseInterfa ...
- python学习笔记(十)完善数据库操作
1.cur = coon.cursor(cursor=pymysql.cursors.DictCursor)的用法 建立游标,指定cursor类型返回的是字典,如果不指定类型,返回的是元组类型数据 i ...
- python 学习笔记(十二) 文件和序列化
python 文件读写和序列化学习.## python文件读写`1 打开并且读取文件` f = open('openfile.txt','r') print(f.read()) f.close() ` ...
- python 学习笔记 redis操作
Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...
随机推荐
- d3.js(v5.7)的比例尺以及坐标轴
直接上代码了,这里的一些函数用的是之前我自己封装的函数(包括attr的obj支持和节点数量和数据数量的自动匹配),若有不明白的,可以查看之前的博客: 页面的效果如下: 接下来继续添加坐标轴: 最终:
- d3.js(v5.7)的attr()函数完善(添加obj支持)
因为习惯了jquery的attr(obj)批量添加属性,所以刚开始看到d3为dom添加属性要一个一个添加的时候真的是十分想吐槽,既然想实现attr(obj),根据传入对象的键值对批量添加dom属性,那 ...
- Faster R-CNN改进篇(二): RFCN ● RON
@改进1:RFCN 论文:R-FCN: Object Detection via Region-based Fully Convolutional Networks [点击下载] MXNet代码 ...
- 开源一款ftp软件——filezilla
filezilla是一款高性能ftp/sftp文件工具,关于它的具体的介绍可参见其官网:https://www.filezilla.cn/.其原作者是Tim Kosse (tim.kosse@file ...
- Wireshark小技巧
抓头部: 时间格式设置: 自定义颜色: 快速过滤TCP/UDP: 过滤一个TCP/UDP Stream: 根据感兴趣内容生成表达式:如果右击的是Apply as Filter则生成表达式并自动执行
- 安卓开发 报错 错误:This version of android studio is incompatible with the gradle version used. 的解决
本文的解决方法主要参考以下文章: https://blog.csdn.net/sinat_15417921/article/details/51907728 Android 开发总是会遇到各种不知道怎 ...
- Linux服务器运行环境搭建(三)——MySQL数据库安装
官网:http://www.mysql.com/ 官网下载地址:http://dev.mysql.com/downloads/mysql/ 说明:官网下载页面的“Select Platform” 选择 ...
- php序号发生器,数字重组,可以隐藏原来的1,2,3。。。
一个晚上的成果,原理: 将1,2,3,4,5,6,7,8,9,0映射到9,5,1,0,4,8,7,3,2,6 同理映射base,base有1-10种数组,也就是可以一位数到10位数 $base 实际上 ...
- erl_0018 erlang_看门狗001_“内存大量占用检测及解决办法”
绪:erlang出现问题百分之六七十在于内存问题,“进程消息队列爆炸”.“进程堆栈持续增长” 工具:erlang:memory(),erlang:system_info(process_count). ...
- 几种设置UITableView的cell动态高度的方法
1.UITableView加载的顺序是先得到表的行的高度,也就是先调用heightForRowAtIndexPath方法,然后再调用cellForRowAtIndexPath,所以我们有两个办法实现自 ...