Python中对Excel文件的操作包括:读、写、修改。如果要对其进行如上的操作需要导入Python的第三方模块:xlrd、xlwd、xlutils,其分别对应Python的读、写、修改的操作

一、安装Python的第三方模块

二、操作Excel的基本步骤

1、导入响对应的模块

2、通过xlwt.Workbook(),创建一个Excel文件

3、创建一个sheet对象,一个sheet对象对应Excel文件中的一张表格

4、向文件中写入/读取内容

5、通过save()保存文件

三、对Excel的写、读、修改操作

1、对Excel的写操作

import xlwt #导入操作Excel的写模块#基本的写入操作

book = xlwt.Workbook() #创建一个Excel表格

sheet = book.add_sheet('test_sheet1') #给Excel表中添加一个sheet页

sheet.write(0,0,'id') #向sheet表中写入数据,第一个参数代表的行数,第二个参数代表的列数,第三个参数代表写入的内容

sheet.write(0,1,'name')

sheet.write(1,0,1)

sheet.write(1,1,'xiaohei')

book.save('test.xls') #报存文件,结尾只能用xls,因为如果用.xlsx的话用微软的软件打不开,WPS才能打开#如果存在很多数据的时候,用基本写入是不现实的,这个时候我们可以使用循环进行操作

#循环方式一:

stus = [[1,'test2','123456'],[2,'test2','123456'],[3,'test3','123456']]

book= xlwt.Workbook() #创建一个Excel表格

sheet = book.add_sheet('test_sheet1') #给Excel表中添加一个sheet页

line = 0 #控制写入的行数

for stu instus:

col= 0 #控制写入的列数

for s instu:

sheet.write(line,col,s)

col+= 1line+= 1book.save('stu.xls')#循环方式二:#enumerate 方法自动计算循环的下标,循环使用的时候,先取下标在取值

stus = [[1,'test2','123456'],[2,'test2','123456'],[3,'test3','123456']]

book= xlwt.Workbook() #创建一个Excel表格

sheet = book.add_sheet('test_sheet1') #给Excel表中添加一个sheet页

for line,stu inenumerate(stus):for col,s inenumerate(stu):

sheet.write(line,col,s)

book.save('stu.xls')

说明:cell_overwrite_ok=True

在添加sheet页的时候,如果不指定cell_overwrite_ok则默认值为false;意思就是如果对一个sheet表中同一位置进行多次编辑这个时候执行Python代码会出现保存;如果添加了cell_overwrite_ok=True,那么对同一位置的值进行写入的时候则会覆盖写入不会报错。

book = xlwt.Workbook() #创建一个Excel表格

sheet = book.add_sheet('test_sheet1',cell_overwrite_ok=True) #给Excel表中添加一个sheet页

sheet.write(0,0,'id') #向sheet表中写入数据,第一个参数代表的行数,第二个参数代表的列数,第三个参数代表写入的内容

sheet.write(0,1,'name')

sheet.write(1,0,1)

sheet.write(1,1,'哈哈')

sheet.write(1,1,'测试哈哈')

book.save('test.xls')

2、对Excel的读操作

importxlrd

book= xlrd.open_workbook('stu.xls') #打开Excel文件,可以制定绝对路径的文件#sheet = book.sheet_by_name('Sheet1') #通过sheet表的名称来读取要操作的表

sheet = book.sheet_by_index(1) #通过Excel表中sheet也得下标确定要读取的表,下标从左往右依次为:0,1,2……

rows = sheet.nrows #获取表中所有的行数

cols = sheet.ncols #获取表中所有的列数

print('表中的总行数是:%s'%(rows))print('表中的总列数是:%s'%(cols))print(sheet.cell(0,0).value) #获取指定单元格的内容

print(sheet.cell_value(0,0)) #获取指定单元格的内容

print(sheet.cell(0,1).value) #获取指定单元格的内容

print(sheet.cell_value(0,1)) #获取指定单元格的内容

print(sheet.row_values(0)) #获取整行的内容,以列表格式显示

print(sheet.col_values(0)) #获取整列的内容,以列表格式显示

运行结果:

表中的总行数是:4表中的总列数是:2a

a

e

e

['a', 'e']

['a', 'b', 'c', 'd']#循环打印每一行的数据

for i inrange(rows):print(sheet.row_values(i))

运行结果:

['a', 'e']

['b', 'f']

['c', 'g']

['d', 'h']#循环打印每一列的值:

for i inrange(cols):print(sheet.col_values(i))

运行结果:

['a', 'b', 'c', 'd']

['e', 'f', 'g', 'h']#循环读取每一个元素的值

for i inrange(rows):for j inrange(cols):print('第%s行第%s列的值是:%s'%(i,j,sheet.cell_value(i,j)))

运行结果:

第0行第0列的值是:a

第0行第1列的值是:e

第1行第0列的值是:b

第1行第1列的值是:f

第2行第0列的值是:c

第2行第1列的值是:g

第3行第0列的值是:d

第3行第1列的值是:h#其它方法:

importxlrd

book= xlrd.open_workbook('stu.xls') #打开Excel文件,可以制定绝对路径的文件

sheet = book.sheet_names()[1] #该函数是用来获取sheet页的表名称的,这个代表获取Excel表中下标是1的表名称值

print(sheet)

sheet= book.sheet_loaded('Sheet1') #判断表是否存在,存在返回true 不存在报错

print(sheet)

运行结果:

Sheet1

True

3、对Excel文件的修改

对Excel修改的时候使用xlutils模块,该模块需要和xlrd模块一起使用

修改的方法就是:1、先用用xlrd打开一个Excel;2、用xlutils模块中的copy功能,复制一个Excel ;3、对赋值的Excel进行修改;

from xlutils importcopy

book= xlrd.open_workbook('stu.xls')

new_book=copy.copy(book)

sheet= new_book.get_sheet(1) #通过下标获取要操作的sheet页

sheet.write(0,1,'wyh')

sheet.write(1,2,'wyh1')

new_book.save('stu.xls')

python 操作excel 教程_Python学习笔记(十六)—Python操作Excel相关推荐

  1. python __name__怎么使用_python学习笔记26(python中__name__的使用)

    在python中,每个py文件都是一个模块,也都是一个可执行文件,即包含main方法.因此,对每个py文件,可以单独运行,也可以import它给其他客户使用,这两种情况不一样. 1. 如果模块是被导入 ...

  2. python字典数据类型笔记_Python学习笔记整理(六)Python中的字典

    一.字典介绍 字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型.列表是有序的对象结合,字典是无序的对象集合.两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通 ...

  3. python学习笔记(十六)-Python多线程多进程

    一.线程&进程 对于操作系统来说,一个任务就是一个进程(Process),比如打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程,打开两个记事本就启动了两个记事本进程, ...

  4. python复制指定字符串_python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)...

    python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...

  5. 电脑安装python3.74_python3.4学习笔记(十六) windows下面安装easy_install和pip教程

    python3.4学习笔记(十六) windows下面安装easy_install和pip教程 easy_install和pip都是用来下载安装Python一个公共资源库PyPI的相关资源包的 首先安 ...

  6. Polyworks脚本开发学习笔记(十六)-用C#进行Polyworks二次开发

    Polyworks脚本开发学习笔记(十六)-用C#进行Polyworks二次开发 Polyworks支持C#二次开发,用对应的SDK文档试着做一下开发样例. 新建一个C#项目,在解决方案中右键添加引用 ...

  7. python编程16章教程_Python学习笔记__16.2章 TCP编程

    # 这是学习廖雪峰老师python教程的学习笔记 Socket是网络编程的一个抽象概念.通常我们用一个Socket表示"打开了一个网络链接",而打开一个Socket需要知道目标计算 ...

  8. python的基本数据结构_Python学习笔记——基本数据结构

    列表list List是python的一个内置动态数组对象,它的基本使用方式如下: shoplist = ['apple', 'mango', 'carrot', 'banana'] print 'I ...

  9. python创建实例属性_Python学习笔记__6.5章 实例属性和类属性

    # 这是学习廖雪峰老师python教程的学习笔记 1.概览 1.1.实例绑定属性 class Student(object): def __init__(self, name): self.name ...

最新文章

  1. Facebook如何预测广告点击:剖析经典论文GBDT+LR
  2. Node:非IO的异步API
  3. 如何为机器视觉系统选择合适的图像采集卡
  4. 分割 标注数据_7种常用的数据标注工具
  5. 排序的稳定性(概念明晰)
  6. Python内置函数总结
  7. 虚拟服务器dhcp,虚拟服务器上配置dhcp服务器
  8. 内蒙古全国计算机考试注意事项,2018年3月内蒙古自治区呼和浩特计算机等级考试注意事项...
  9. selenium chromedriver usage
  10. Atitit 信息系统安全法 目录 1. 常见的安全保护目标 1 2. WEB安全风险行为 2 2.1. Injection 2 2.2. Broker Authentication损坏的身份验证
  11. 方舟生存进化联机显示没有找到服务器,方舟生存进化搭建服务器联机教程_方舟生存进化怎么联机_牛游戏网...
  12. [精简整理]疏通中国历史脉络——“元、明、清(1840鸦片战争止)”篇
  13. 如何绘制CIE1931xy色度图
  14. 按英语体育计算机创建透视表,2016年职称计算机考试模拟练习题
  15. 【Dynamics365】创建报表
  16. 华为 服务器 驱动 linux,华为服务器SAS控制器驱动问题
  17. SDN,虚拟化,TSN,协议概述。
  18. Android使用WebView播放flash的方法和JavaScript调用本地方法
  19. hourglass论文_Hourglass模块 网络结构 代码
  20. 华硕主板H81M-E BIOS刷NVMe支持M.2固态硬盘成功

热门文章

  1. jeecg 3.5.2 新版本4种首页风格 【经典风格,shortcut风格,ACE bootstrap风格,云桌面风格】
  2. maven--私服的搭建(Nexus的使用)
  3. Python中的_main_与_init_详解
  4. 数据结构基础(11) --循环链表的设计与实现
  5. QQ音乐:React v16 新特性实践
  6. python之rabbitMQ
  7. activiti学习--08 连线
  8. 怎样在Android上手动备份你的短信/彩信?
  9. 结构性约束事件聚合下的在线多目标跟踪方法
  10. 廖雪峰JS教程--条件判断