日常工作中会遇到Excel的读写问题。我们可以使用xlwt 模块将数据写入Excel表格,使用xlrd 模块从Excel读取数据,使用xlutils模块和xlrd模块结合对Excel数据进行修改。下面介绍如何实现使用python对Excel进行读写修改操作。

1、对Excel的写操作:

import xlwt

book = xlwt.Workbook() #新建一个excel

sheet = book.add_sheet('sheet1') #添加一个sheet页

sheet.write(0,0,'姓名') #Excel第一行第一列写入姓名

sheet.write(0,1,'性别') #Excel第一行第二列写入性别

sheet.write(0,2,'年龄') #Excel第一行第三列写入年龄

book.save('stu.xls') #微软的office不能用xlsx结尾的,wps随意

举例:从二维列表中读取数据,写入到excel中。

stus = [

['姓名','年龄','性别','分数'],

['mary', 20, '女', 89.9],

['mary', 20, '女', 89.9],

['mary', 20, '女', 89.9],

['mary', 20, '女', 89.9]]

book = xlwt.Workbook() #新建一个excel

sheet = book.add_sheet('sheet1') #添加一个sheet页

raw = 0#控制行的

for stu in stus:

col = 0 #控制列

for s in stu:

sheet.write(raw,col,s)

col+=1

raw+=1

book.save('kkk.xls')

2、对Excel的读操作

import xlrd

book = xlrd.open_workbook('stu.xls') #打开一个excel

sheet = book.sheet_by_index(0) #根据顺序获取sheet

sheet2 = book.sheet_by_name('sheet1') #根据sheet页名字获取sheet

print(sheet.cell(0,0).value) #指定行和列获取数据

print(sheet.ncols) #获取excel里面有多少列

print(sheet.nrows) #获取excel里面有多少行

sheet.row_values(1)#取第几行的数据

print(sheet.col_values(1)) #取第几列的数据

for i in range(sheet.nrows): # 0 1 2 3 4 5

print(sheet.row_values(i)) #取第几行的数据

3、对Excel修改操作

from xlutils.copy import copy #从xlutils模块导入copy

import xlrd

book1 = xlrd.open_workbook('stu.xls') #得到Excel文件的book对象,实例化对象

book2 = copy(book1) #拷贝一份原来的excel

sheet = book2.get_sheet(0) #获取第几个sheet页

sheet.write(1,3,0) #对拷贝的excel第2行,第4列数据为0

sheet.write(1,0,'小黑') #对拷贝的excel第2行,第1列数据为小黑

book2.save('stu.xls') #保存修改后excel

python学习笔记(十三)-python对Excel进行读写修改操作的更多相关文章

  1. python学习笔记十三 JS,Dom(进阶篇)

    JS介绍 JavaScript 是属于网络的脚本语言!JavaScript 被数百万计的网页用来改进设计.验证表单.检测浏览器.创建cookies,以及更多的应用:JavaScript 是因特网上最流 ...

  2. python 学习笔记 9 -- Python强大的自省简析

    1. 什么是自省? 自省就是自我评价.自我反省.自我批评.自我调控和自我教育,是孔子提出的一种自我道德修养的方法.他说:“见贤思齐焉,见不贤而内自省也.”(<论语·里仁>)当然,我们今天不 ...

  3. python学习笔记(一):python简介和入门

    最近重新开始学习python,之前也自学过一段时间python,对python还算有点了解,本次重新认识python,也算当写一个小小的教程.一.什么是python?python是一种面向对象.解释型 ...

  4. python 学习笔记一——Python安装和IDLE使用

    好吧,一直准备学点啥,前些日子也下好了一些python电子书,但之后又没影了.年龄大了,就是不爱学习了.那就现在开始吧. 安装python 3 Mac OS X会预装python 2,Linux的大多 ...

  5. python学习笔记(python简史)

    一.python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum) 目前python主要应用领域: ·云计算 ·WEB开发 ·科学运算.人工智能 ·系统运维 ·金融:量化交 ...

  6. python学习笔记(1)--python特点

    python诞生于复杂的信息系统时代,是计算机时代演进的一种选择. python的特点,通用语言,脚本语言,跨平台语言.这门语言可以用于普适的计算,不局限于某一类应用,通用性是它的最大特点.pytho ...

  7. python学习笔记之——python模块

    1.python模块 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python ...

  8. Python学习笔记 - day12 - Python操作NoSQL

    NoSQL(非关系型数据库) NoSQL,指的是非关系型的数据库.NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称.用于超大规模数据的存储.(例如 ...

  9. Python学习笔记之Python的enumerate函数

    Python 的 enumerate() 函数就像是一个神秘的黑箱,你无法简单地用一句话来概括这个函数的作用与用法. enumerate() 函数属于非常有用的高级用法,而对于这一点,很多初学者甚至中 ...

随机推荐

  1. 联合迭代器与生成器,enumerate() 内置函数真香!

    花下猫语:Python 中很多内置函数的作用都非常大,比如说 enumerate() 和 zip(),它们使得我们在作迭代操作时极为顺手.这是一篇很多年前的 PEP,提议在 Python 2.3 版本 ...

  2. 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先

    剑指 Offer 68 - I. 二叉搜索树的最近公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先. 百度百科中最近公共祖先的定义为:"对于有根树 T 的两个结点 p.q ...

  3. 数据结构与算法——链表 Linked List(单链表、双向链表、单向环形链表-Josephu 问题)

    链表是有序的列表,但是在内存中存储图下图所示 链表是以 节点 的方式来存储,是 链式存储 每个节点包含 data 域.next 域,指向下一个节点 链表的各个节点 不一定是连续存储,如上图所示 链表还 ...

  4. C#多线程---Task实现异步

    一.场景 使用Task来进行累加操作. 二.例子-Task使用 1 using System; 2 using System.Collections.Generic; 3 using System.L ...

  5. Javascript - Vue - webpack + vue-cil

    cnpm(node package manager)和webpack模块 npm是运行在node.js环境下的包管理工具(先安装node.js,再通过命令 npm install npm -g 安装n ...

  6. mzy,struts学习(二):struts.xml的配置

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "- ...

  7. String与Int类型的转换

    http://blog.sina.com.cn/s/blog_4f9d6b1001000bfo.html int -> String int i=12345; String s="&q ...

  8. 终于搞懂了PR曲线

    PR(Precision Recall)曲线 问题 最近项目中遇到一个比较有意思的问题, 如下所示为: 图中的PR曲线很奇怪, 左边从1突然变到0. PR源码分析 为了搞清楚这个问题, 对源码进行了分 ...

  9. (原创)[C#] DataTable排序扩展方法

    一,前言 DataTable的应用极其广泛,对DataTable进行排序也有很多方式,每种的实现方式都不难,但是使用起来却比较繁琐,所以本人便写了一个扩展方法,专门对DataTable进行操作. 本篇 ...

  10. Ubuntu 配置、使用samba共享文件夹

    安装库 sudo apt install smbclient samba samba-common 启动samba sudo /etc/init.d/samba start 备份配置文件 sudo c ...