一、读excel: xlrd-----只能读、不能写

  1. import xlrd
  2. book=xlrd.open_workbook(r'E:\BestTest\内容\名单.xlsx') #打开excel
  3. sheet=book.sheet_by_index(0) #通过索引定位是第一个sheet页
  4. sheet2=book.sheet_by_name("作业") #通过名字定位sheet
  5. sheet.row_values(0) #获取某一行的数据,索引从0开始,0代表第一行
  6.  
  7. sheet.col_values(1) #获取某一列的数据,索引从0开始
  8.  
  9. sheet.cell(0,1).value #获取某个单元格的内容,索引从0开始,(行,列),(0,0)代表第1行,第1列
  10.  
  11. sheet.nrows #获取总行数
  12. sheet.ncols #获取纵列数

二、写入excel:xlwt ——只能新建一个excel,往里面写内容,不是修改

  1. book=xlwt.Workbook()
  2. sheet=book.add_sheet('人员名单'
  3. sheet.write(0,0,'姓名)
  4. sheet.write(0,1,'学习形式')
  5. sheet.write(1,0,'xiaohei') #(行,列,内容)
  6. sheet.write(1,1,'现场')
  7. #写完要保存:
  8. book.save('E:\BestTest\上课内容\student.xls')
  9. # 保存时,如果用的是微软的office,后缀要用.xls
  10. # 如果是wps,就用.xls .xlsx

练习:list中每个元素写进表格中

方法一:

  1. list=[
  2. [1,'han',''],
  3. [2, 'xiaoming', ''],
  4. [3, 'xiaohei2', ''],
  5. [4, '小白', '']
  6. ]
  7. row=1 #定义行号,空出表头,从第二行,第一列开始写
  8. for row_data in list:
  9. col=0
  10. for col_data in row_data:
  11. sheet.write(row,col,col_data)
  12. col+=1
  13. row+=1
  14. book.save('test.xls')

方法二:使用枚举函数:enumerate()

  1. for row,row_data in enumerate(list,1) #取list中下标和元素,下标定义初始索引是1
  2. printrow,row_data)
  3. for col,col_data in enumerate(row_data) #不传索引初始值,默认从0开始
  4. printcol,col_data)
  5. sheet.write(row,col,col_data)
  6. book.save('test1.xls')

三、 修改excel

  1. from xlutils import copy
  2. import xlrd #两个模块配合才能修改
  3. #操作步骤:
  4. #1打开一个excel
  5. #2复制一份
  6. #3修改
  7. book=xlrd.open_workbook('test.xls') #可写绝对路径
  8. new_book=copy.copy(book)
  9. print(dir(new_book)) #查看new_book可做的操作
  10. sheet=new_book.get_sheet(0) #定位sheet页,xlutils中的定位sheet的方法不同于xlrd
  11. title=['id','name','phone']
  12. for col,t in enumerate(title):
  13. sheet.write(0,col,t)
  14. new_book.save('test.xls') #运行是文件不能是打开的状态,否则会报错

四、枚举函数:enumerate(list)

  1. list=['xiaomingn','xiaohei','xiaobai']
  2. num=1
  3. for i in list:
  4. print("编号:%s-->%s"%(num,i))
  5. num+=1
  6. #同下:
  1. #enumerate(list):循环时,同时循环下标和元素 enumerate(list,1) #可指定从几开始,1,2,3,……如果不指定是默认从零开始,0,1,2,……
  1. for count,value in enumerate(list,1) print("编号:%s-->%s"%(count,value))

python之操作excel:xlrd、xlwt、xlutiles、枚举函数enumerate()的更多相关文章

  1. 【python】操作excel——xlrd xlwt xlutils

    from xlutils.copy import copy import xlrd # import xlutils #打开已存在的excel rb=xlrd.open_workbook('D:\\1 ...

  2. xpython操作excel之xlwt与xlrd

    xlwt与xlrd只能针对xls格式的excel进行操作!!!(openpyxl操作excel) xlwt写excel # pip install xlwt下载导入xlwt写xls格式的excel操作 ...

  3. Python读写操作Excel模块_xlrd_xlwt_xlutils

    Python 读写操作Excel -- 安装第三方库(xlrd.xlwt.xlutils.openpyxl) 如果仅仅是要以表单形式保存数据,可以借助 CSV 格式(一种以逗号分隔的表格数据格式)进行 ...

  4. Python“文件操作”Excel篇(上)

    大家好,我们今天来一起探索一下用Python怎么操作Excel文件.与word文件的操作库python-docx类似,Python也有专门的库为Excel文件的操作提供支持,这些库包括xlrd.xlw ...

  5. Python Pandas操作Excel

    Python Pandas操作Excel 前情提要 ☟ 本章使用的 Python3.6 Pandas==0.25.3 项目中需要用到excel的文件字段太多 考虑到后续字段命名的变动以及中文/英文/日 ...

  6. 使用Python对Excel表格进行简单的读写操作(xlrd/xlwt)

    算是一个小技巧吧,只是进行一些简单的读写操作.让人不爽的是xlrd和xlwt是相对独立的,两个模块的对象不能通用,读写无法连贯操作,只能单独读.单独写,尚不知道如何解决. #①xlrd(读) #cod ...

  7. Python 读写操作Excel —— 安装第三方库(xlrd、xlwt、xlutils、openpyxl)

    数据处理是 Python 的一大应用场景,而 Excel 则是最流行的数据处理软件.因此用 Python 进行数据相关的工作时,难免要和 Excel 打交道. 如果仅仅是要以表单形式保存数据,可以借助 ...

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

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

  9. python 3 操作 excel

    看到一篇很好的python读写excel方式的对比文章: 用Python读写Excel文件 关于其他版本的excel,可以通过他提供的链接教程进行学习. XlsxWriter: https://git ...

随机推荐

  1. 002--linux基础命令

    退出终端命令:exit 关闭Linux系统的命令:init 0 切换虚拟终端的方法:Ctrl+Alt+F[1-6] who命令 :查看有多少个终端打开着 whoami命令:获取当前用户名 date命令 ...

  2. ORACLE PL/SQL 实例精解之第三章 PL/SQL中的SQL

    3.1 在PL/SQL中使用DML 在PL/SQL语块中,两种变量赋值a. := 初始化.b. select into语法,PL/SQL语块的声明部分被声明的变量,后期可以使用选择语句进行赋值. 3. ...

  3. c语言基本数据类型相关

    1byte = 8bit  数据类型  比特长度  位长度  IO表达  int  2/4  16/32  %d   unsigned (int)  2/4  16/32  %u  short int ...

  4. 51 nod 1521 一维战舰(二分)

    传送门 题意 分析 这是我在51nod上的第2题,下载了4个数据,得不偿失?我太菜啦 一开始wa了6个点,下数据后发现舰与舰不能相邻,再交wa,发现l和r都没设好,再wa,发现check里面[1,b[ ...

  5. unity ShaderLab 编辑器——sublime text 2

    sublime text 2,支持unity shader关键字高亮显示,智能提示功能.这个脚本编辑器的售价是70美元,不过作者很厚道地给了我们永久的免费试用期. 1)下载sublime text 2 ...

  6. 自己写一个websocket

    import socket, base64, hashlib sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.setsock ...

  7. Codeforces Round #408 (Div. 2) C

    Description Although Inzane successfully found his beloved bone, Zane, his owner, has yet to return. ...

  8. 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 ...

  9. 洛谷 P3312 [SDOI2014]数表

    式子化出来是$\sum_{T=1}^m{\lfloor}\frac{n}{T}{\rfloor}{\lfloor}\frac{m}{T}{\rfloor}\sum_{k|T}\mu(\frac{T}{ ...

  10. LIS 2015百度之星初赛2 HDOJ 5256 序列变换

    题目传送门 题意:中文题面 分析:LIS(非严格):首先我想到了LIS,然而总觉得有点不对:每个数先减去它的下标,防止下面的情况发生:(转载)加入序列是1,2,2,2,3,这样求上升子序列是3,也就是 ...