import xlwt  #写excel
import xlrd #读excel
import xlutils #修改excel

一、写操作

1、写Excel

import xlwt  #写excel,导入模块

book = xlwt.Workbook(encoding='utf-8')# 创建一个Workbook对象,这就相当于创建了一个Excel文件
sheet = book.add_sheet('sheet1')#创建一个sheet对象,一个sheet对象对应Excel文件中的一张表格。其中的sheet1是这张表的名字。 sheet.write(0,0,'id')# 其中的'0-行, 0-列'指定表中的单元,'id'是向该单元写入的内容
sheet.write(0,1,'username')
sheet.write(0,2,'password') sheet.write(1,0,'')
sheet.write(1,1,'niuhanyang')
sheet.write(1,2,'') book.save(r'e:\test1.xls')# 最后,将以上操作保存到指定的Excel文件中

2、如何写一个表

我们有下面这一张表,怎样写到excle中呢,可以用到二层循环。

stus = [
[1,'njf',''],
[2,'xiaojun',''],
[3,'hailong',''],
[4,'xiaohei',''],
[5,'xiaohei',''],
[6,'xiaohei',''],
[7,'xiaohei',''],
[8,'xiaohei',''],
[9,'xiaohei',''],
]
line = 0 #定义一个变量,控制的是行,循环一次行加1
for stu in stus:#行 第一层循环
#stu [1,'njf','1234']
col = 0 #控制lie
for s in stu: #第二层循环
sheet.write(line, col, s)
#0 0 1
#0 1 njf
#0 2 1234 # 1 0 2
# 1 1 xiaojun
# 1 2 1234 col+=1 #控制lie
line+=1 book.save('stu.xls')# 保存

二、读操作

import xlrd  #读excel,导入模块

book = xlrd.open_workbook('stu.xls')#打开XLS文件
sheet = book.sheet_by_index(0)# 方法1,通过sheet索引获得sheet对象
sheet = book.sheet_by_name('sheet1') # 方法2,根据名字获得 print(sheet.nrows) #获取总行数
print(sheet.ncols) #获取宗列数
print(sheet.cell(0,0).value) #获取到指定单元格的内容
print(sheet.cell(0,1).value) #获取到指定单元格的内容
print(sheet.row_values(0))# 获得第1行的数据列表
print(sheet.col_values(0))# 获得第1列的数据列表 for i in range(sheet.nrows):#循环获取每行的内容
print(sheet.row_values(i))

三、修改操作

from xlutils import copy #导入模块

book = xlrd.open_workbook('stu.xls')#先用xlrd打开一个Excel
new_book = copy.copy(book)#然后用xlutils里面的copy功能,复制一个Excel
sheet = new_book.get_sheet(0)#获取sheet页,第1张表
sheet.write(0,1,'倪菊芳')#修改指定内容
sheet.write(1,1,'白小军')
new_book.save('stu.xls')#保存

python学习笔记:操作Excle的更多相关文章

  1. python学习笔记 操作文件和目录

    如果我们要操作文件.目录,可以在命令行下面输入操作系统提供的各种命令来完成.比如dir.cp等命令. 如果要在Python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令只是简单地调用了操 ...

  2. 10 python学习笔记-操作数据库(十)

    在功能.接口测试中,常常需要通过数据库的操作,来准备数据.检测环境及核对功能.接口的数据库操作是否正确. 在自动化测试中,就需要我们用代码连接数据库自动完成数据准备. 环境检查及数据库断言的功能.数据 ...

  3. 09 python学习笔记-操作excel(九)

    python操作excel使用xlrd.xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的.这几个模块可以使用pip安装, ...

  4. Python学习笔记----操作字符串

    1.字符串相加.列表相加.列表和字符串不能混着使用 #序列相加 a="hello" b="python" c=a+b print("字符串相加的结果& ...

  5. python学习笔记(二)、字符串操作

    该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.字符串基本操作 所有标准序列操作(索引.切片.乘法.成员资格检查.长度.最小值和最大值)都适用于 ...

  6. Python学习笔记(15)- os\os.path 操作文件

    程序1 编写一个程序,统计当前目录下每个文件类型的文件数,程序实现如图: import os def countfile(path): dict1 = {} # 定义一个字典 all_files = ...

  7. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

  8. OpenCV之Python学习笔记

    OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...

  9. python学习笔记(五岁以下儿童)深深浅浅的副本复印件,文件和文件夹

    python学习笔记(五岁以下儿童) 深拷贝-浅拷贝 浅拷贝就是对引用的拷贝(仅仅拷贝父对象) 深拷贝就是对对象的资源拷贝 普通的复制,仅仅是添加了一个指向同一个地址空间的"标签" ...

  10. Python学习笔记进阶篇——总览

    Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(Socket编程进阶&多线程.多进程) Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(异常处理) Pyth ...

随机推荐

  1. springboot 尚桂谷学习总结01

    ------springboot 技术入门------ 1.springboot 简介: 优点: 简化spring 应用开发的一个框架 整个spring技术栈的一个大整合 ------微服务----- ...

  2. [ERR] 1114 - The table 'xxx' is full

    异常原因: 磁盘空间不足 解决办法: 1. 新增磁盘 2. 删除无用数据 信息补充: df: df -h #查询磁盘空间命令 du: du|sort -nr|more #显示目录或者文件所占空间 du ...

  3. Ajax 中Post 与 Get的 实例

    Ajax中 Post 与 Get 实例   Ajax的POST实例,index.html <html> <head> <script type="text/ja ...

  4. 2019 牛客多校第一场 B Integration

    题目链接:https://ac.nowcoder.com/acm/contest/881/B 题目大意 给定 n 个不同的正整数 ai,求$\frac{1}{\pi}\int_{0}^{\infty} ...

  5. 44.Linked List Cycle II(环的入口节点)

    Level:   Medium 题目描述: Given a linked list, return the node where the cycle begins. If there is no cy ...

  6. 搭建git服务器遇到的问题

    1.错误提示: remote: error: insufficient permission for adding an object to repository database ./objects ...

  7. [转]图片压缩功能在JBoss AS7出错有关问题

    图片压缩功能在JBoss AS7出错问题近日在为平台(http://www.zyiqibook.com)做些小的整改,途中基本很顺利,但就在后面出现了些纠结的问题,而这问题我之前遇到过,因为一时没有想 ...

  8. .net core mvc model填充过滤器

    在程序开发中,我们可能经常遇到所有的数据库表有相同的属性和行为,比如需要记录数据的创建人员,创建时间,修改时间和修改人.如果在每个action中都加上这些信息,代码看着比较冗余,看着不那么优雅,于是考 ...

  9. Linux将动态IP改为静态IP

    1.编辑 ifcfg-eth0 文件,vim 最小化安装时没有被安装,需要自行安装不描述. 2.修改如下内容 BOOTPROTO="static" #dhcp改为static ON ...

  10. js 数组、字符串、Json互相转换

    arr.join(): 数组转字符串 let arr = [1,2,3,4]; let str = arr.join(','); arr.split():字符串转数组 let str = '1,2,3 ...