python之操作excel:xlrd、xlwt、xlutiles、枚举函数enumerate()
一、读excel: xlrd-----只能读、不能写
- import xlrd
- book=xlrd.open_workbook(r'E:\BestTest\内容\名单.xlsx') #打开excel
- sheet=book.sheet_by_index(0) #通过索引定位是第一个sheet页
- sheet2=book.sheet_by_name("作业") #通过名字定位sheet
- sheet.row_values(0) #获取某一行的数据,索引从0开始,0代表第一行
- sheet.col_values(1) #获取某一列的数据,索引从0开始
- sheet.cell(0,1).value #获取某个单元格的内容,索引从0开始,(行,列),(0,0)代表第1行,第1列
- sheet.nrows #获取总行数
- sheet.ncols #获取纵列数
二、写入excel:xlwt ——只能新建一个excel,往里面写内容,不是修改
- book=xlwt.Workbook()
- sheet=book.add_sheet('人员名单')
- sheet.write(0,0,'姓名)
- sheet.write(0,1,'学习形式')
- sheet.write(1,0,'xiaohei') #(行,列,内容)
- sheet.write(1,1,'现场')
- #写完要保存:
- book.save('E:\BestTest\上课内容\student.xls')
- # 保存时,如果用的是微软的office,后缀要用.xls
- # 如果是wps,就用.xls .xlsx
练习:list中每个元素写进表格中
方法一:
- list=[
- [1,'han',''],
- [2, 'xiaoming', ''],
- [3, 'xiaohei2', ''],
- [4, '小白', '']
- ]
- row=1 #定义行号,空出表头,从第二行,第一列开始写
- for row_data in list:
- col=0
- for col_data in row_data:
- sheet.write(row,col,col_data)
- col+=1
- row+=1
- book.save('test.xls')
方法二:使用枚举函数:enumerate()
- for row,row_data in enumerate(list,1) #取list中下标和元素,下标定义初始索引是1
- print(row,row_data)
- for col,col_data in enumerate(row_data) #不传索引初始值,默认从0开始
- print(col,col_data)
- sheet.write(row,col,col_data)
- book.save('test1.xls')
三、 修改excel
- from xlutils import copy
- import xlrd #两个模块配合才能修改
- #操作步骤:
- #1打开一个excel
- #2复制一份
- #3修改
- book=xlrd.open_workbook('test.xls') #可写绝对路径
- new_book=copy.copy(book)
- print(dir(new_book)) #查看new_book可做的操作
- sheet=new_book.get_sheet(0) #定位sheet页,xlutils中的定位sheet的方法不同于xlrd
- title=['id','name','phone']
- for col,t in enumerate(title):
- sheet.write(0,col,t)
- new_book.save('test.xls') #运行是文件不能是打开的状态,否则会报错
四、枚举函数:enumerate(list)
- list=['xiaomingn','xiaohei','xiaobai']
- num=1
- for i in list:
- print("编号:%s-->%s"%(num,i))
- num+=1
- #同下:
- #enumerate(list):循环时,同时循环下标和元素 enumerate(list,1) #可指定从几开始,1,2,3,……如果不指定是默认从零开始,0,1,2,……
- for count,value in enumerate(list,1) print("编号:%s-->%s"%(count,value))
python之操作excel:xlrd、xlwt、xlutiles、枚举函数enumerate()的更多相关文章
- 【python】操作excel——xlrd xlwt xlutils
from xlutils.copy import copy import xlrd # import xlutils #打开已存在的excel rb=xlrd.open_workbook('D:\\1 ...
- xpython操作excel之xlwt与xlrd
xlwt与xlrd只能针对xls格式的excel进行操作!!!(openpyxl操作excel) xlwt写excel # pip install xlwt下载导入xlwt写xls格式的excel操作 ...
- Python读写操作Excel模块_xlrd_xlwt_xlutils
Python 读写操作Excel -- 安装第三方库(xlrd.xlwt.xlutils.openpyxl) 如果仅仅是要以表单形式保存数据,可以借助 CSV 格式(一种以逗号分隔的表格数据格式)进行 ...
- Python“文件操作”Excel篇(上)
大家好,我们今天来一起探索一下用Python怎么操作Excel文件.与word文件的操作库python-docx类似,Python也有专门的库为Excel文件的操作提供支持,这些库包括xlrd.xlw ...
- Python Pandas操作Excel
Python Pandas操作Excel 前情提要 ☟ 本章使用的 Python3.6 Pandas==0.25.3 项目中需要用到excel的文件字段太多 考虑到后续字段命名的变动以及中文/英文/日 ...
- 使用Python对Excel表格进行简单的读写操作(xlrd/xlwt)
算是一个小技巧吧,只是进行一些简单的读写操作.让人不爽的是xlrd和xlwt是相对独立的,两个模块的对象不能通用,读写无法连贯操作,只能单独读.单独写,尚不知道如何解决. #①xlrd(读) #cod ...
- Python 读写操作Excel —— 安装第三方库(xlrd、xlwt、xlutils、openpyxl)
数据处理是 Python 的一大应用场景,而 Excel 则是最流行的数据处理软件.因此用 Python 进行数据相关的工作时,难免要和 Excel 打交道. 如果仅仅是要以表单形式保存数据,可以借助 ...
- python操作excel xlrd和xlwt的使用
最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...
- python 3 操作 excel
看到一篇很好的python读写excel方式的对比文章: 用Python读写Excel文件 关于其他版本的excel,可以通过他提供的链接教程进行学习. XlsxWriter: https://git ...
随机推荐
- 002--linux基础命令
退出终端命令:exit 关闭Linux系统的命令:init 0 切换虚拟终端的方法:Ctrl+Alt+F[1-6] who命令 :查看有多少个终端打开着 whoami命令:获取当前用户名 date命令 ...
- ORACLE PL/SQL 实例精解之第三章 PL/SQL中的SQL
3.1 在PL/SQL中使用DML 在PL/SQL语块中,两种变量赋值a. := 初始化.b. select into语法,PL/SQL语块的声明部分被声明的变量,后期可以使用选择语句进行赋值. 3. ...
- c语言基本数据类型相关
1byte = 8bit 数据类型 比特长度 位长度 IO表达 int 2/4 16/32 %d unsigned (int) 2/4 16/32 %u short int ...
- 51 nod 1521 一维战舰(二分)
传送门 题意 分析 这是我在51nod上的第2题,下载了4个数据,得不偿失?我太菜啦 一开始wa了6个点,下数据后发现舰与舰不能相邻,再交wa,发现l和r都没设好,再wa,发现check里面[1,b[ ...
- unity ShaderLab 编辑器——sublime text 2
sublime text 2,支持unity shader关键字高亮显示,智能提示功能.这个脚本编辑器的售价是70美元,不过作者很厚道地给了我们永久的免费试用期. 1)下载sublime text 2 ...
- 自己写一个websocket
import socket, base64, hashlib sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.setsock ...
- Codeforces Round #408 (Div. 2) C
Description Although Inzane successfully found his beloved bone, Zane, his owner, has yet to return. ...
- Codeforces Round #405 (rated, Div. 2, based on VK Cup 2017 Round 1) D
Description A tree is an undirected connected graph without cycles. The distance between two vertice ...
- 洛谷 P3312 [SDOI2014]数表
式子化出来是$\sum_{T=1}^m{\lfloor}\frac{n}{T}{\rfloor}{\lfloor}\frac{m}{T}{\rfloor}\sum_{k|T}\mu(\frac{T}{ ...
- LIS 2015百度之星初赛2 HDOJ 5256 序列变换
题目传送门 题意:中文题面 分析:LIS(非严格):首先我想到了LIS,然而总觉得有点不对:每个数先减去它的下标,防止下面的情况发生:(转载)加入序列是1,2,2,2,3,这样求上升子序列是3,也就是 ...