一、读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()的更多相关文章

  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. k8s认证及ServiceAccount-十五

    一.ServiceAccount (1)简介 https://www.kubernetes.org.cn/service-account Service account是为了方便Pod里面的进程调用K ...

  2. 035--MySQL基本操作

    一.数据库的定义及相关名词解释  数据库(Database)是按照数据结构来组织.存储和管理数据的仓库, 每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. 我们也可以 ...

  3. Codeforces - 909C - Python Indentation - 简单dp

    http://codeforces.com/problemset/problem/909/C 好像以前做过,但是当时没做出来,看了题解也不太懂. 一开始以为只有上面的for有了循环体,这里的state ...

  4. 基于FBX SDK的FBX模型解析与加载 -(三)

    http://blog.csdn.net/bugrunner/article/details/7229416 6. 加载Camera和Light 在FBX模型中除了几何数据外较为常用的信息可能就是Ca ...

  5. 洛谷P4725 【模板】多项式对数函数(多项式运算)

    传送门 前置芝士:微积分(有所了解即可)(可以看看这篇,写得非常详细我看了两章就看不下去了) 以下都是一些简单的教程切莫当真,仅供理解,建议看更严谨的 导数:对于一个函数$f(x)$,它的导数$f'( ...

  6. SpringBoot | contrller的使用

    @Controller 处理http请求 @RestController Spring4之后新加的注解,原来返回json需要@ResponseBody配合@Controller @RequestMap ...

  7. php连接mysql并读取数据

    <?php $server_name="localhost:3306"; //数据库服务器名称 $username="root"; // 连接数据库用户名 ...

  8. 线段树+离散化 POJ 2528 Mayor's posters

    题目传送门 题意:在一面墙上贴海报,有先后顺序,问最后有多少张不同的海报(指的是没被覆盖或者只是部分覆盖的海报) 分析:这题数据范围很大,直接搞超时+超内存,需要离散化:离散化简单的来说就是只取我们需 ...

  9. BestCoder Round #54 (div.2) 1003 Geometric Progression

    题目传送门 题意:判断是否是等比数列 分析:高精度 + 条件:a[i] * a[i+2] == a[i+1] * a[i+1].特殊情况:0 0 0 0 0是Yes的,1 2 0 9 2是No的 代码 ...

  10. JavaScript--字符串常用方法总结

    JavaScript--字符串常用方法总结 举例模板: var str = "what are you " var str1 = "sss" var txt = ...