一、读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. django上课笔记1-目录介绍-路由系统-ORM操作

    一.Django目录介绍 django-admin startproject mysite # 创建名为mysite的项目 cd mysite # 切换到该目录下 python manage.py s ...

  2. Oracle Function INSTR

    INSTR(string,subString,position,ocurrence)查找字符串位置 解释:      string:字符串      subString:要查找的子字符串      p ...

  3. oppo手机怎么打开USB调试模式

    OPPO手机USB调试的设置方法:1.ColorOS 3.0版本,进入设置--关于手机,连续点击版本号直到出现“您已处于开发者选项”,再进入设置--其他设置--开发者选项--USB调试进行设置: 2. ...

  4. 洛谷P4867 Gty的二逼妹子序列(莫队+树状数组)

    传送门 本来打算用主席树 然后发现没办法维护颜色数 于是用了莫队加树状数组 然后竟然A了…… //minamoto #include<iostream> #include<cstdi ...

  5. 基于.NetCore和ABP框架如何让Windows服务执行Quartz定时作业

    demo地址:ABP.WindowsService 该系列文章启发自 How to: Create a Windows Service that schedules jobs, logs and is ...

  6. python之os、sys和random模块

    import os # print(os.getcwd())#获取当前目录,绝对路径# print(os.chdir('../'))#更改当前目录,../的意思是退回上一级目录# print(os.g ...

  7. AtCoder Grand Contest 010 F - Tree Game

    题目传送门:https://agc010.contest.atcoder.jp/tasks/agc010_f 题目大意: 给定一棵树,每个节点上有\(a_i\)个石子,某个节点上有一个棋子,两人轮流操 ...

  8. [转]VC++的类头文件

    本文转自:http://blog.csdn.net/forevertali/article/details/4370602   animal.h //在头文件中包含类的定义及类成员函数的声明 clas ...

  9. 通俗易懂的Nhibernate教程(2) ---- 配置之Nhibernate配置

    在上一个教程中,我们讲了Nhibernate的基本使用!So,让我们回顾下Nhibernate使用基本的步骤吧 1.NHibernate配置  ----- 这一步我们告诉了Nhibernate:数据库 ...

  10. Elasticsearch (2) - 映射

    常用映射类型 核心的字段类型如下: String 字符串包括text和keyword两种类型: 1.text analyzer 通过analyzer属性指定分词器. 下边指定name的字段类型为tex ...