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. day106 支付功能与优惠券功能 contentype

    https://blog.csdn.net/Ayhan_huang/article/details/78626957 一.ContenType from django.db import models ...

  2. 洛谷 P1197 [JSOI2008]星球大战——并查集

    先上一波题目 https://www.luogu.org/problem/P1197 很明显删除的操作并不好处理 那么我们可以考虑把删边变成加边 只需要一波时间倒流就可以解决拉 储存删边顺序倒过来加边 ...

  3. spring注解开发:bean的作用域与懒加载

    1.bean的作用域 1.新建一个maven工程,添加如下依赖 <dependency> <groupId>org.springframework</groupId> ...

  4. centOS发布.Net Core 2.0 API

    1.dotnet  xxx.dll & & 放在启动参数后面表示设置此进程为后台进程.(目前测试无效) 2.ps -ef | grep xxx ps:将某个进程显示出来 -A 显示所有 ...

  5. 递归算法介绍及Java应用实战

    什么是递归算法 递归算法是把问题转化为规模缩小了的同类问题的子问题,然后递归调用函数(或过程)来表示问题的解.一个过程(或函数)直接或间接调用自己本身,这种过程(或函数)叫递归过程(或函数). 递归过 ...

  6. Centos,tomcat

    1.下载tomcat9.0,解压,配置 wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.21/bin/apa ...

  7. emqtt 分布集群及节点桥接搭建

    目录 分布集群 emq@s1.emqtt.io 节点设置 emq@s2.emqtt.io 节点设置 节点加入集群 节点退出集群 节点发现与自动集群 manual 手动创建集群 基于 static 节点 ...

  8. TCP/UDP Linux网络编程详解

    本文主要记录TCP/UDP网络编程的基础知识,采用TCP/UDP实现宿主机和目标机之间的网络通信. 内容目录 1. 目标2.Linux网络编程基础2.1 嵌套字2.2 端口2.3 网络地址2.3.1 ...

  9. mysql基于Altas读写分离并实现高可用

    实验环境准备: master:192.168.200.111 slave1:192.168.200.112 slave2:192.168.200.113 Altas:192.168.200.114 c ...

  10. IPv6 关于路由器配置静态IPv6路由的命令

    今天在学习路由器配置ipv6 的时候遇到了一点疑惑 一条命令为:ipv6 route FE80:0202::/32 serail 0/1 201 一条命令为:ipv6 route FE80:0202: ...