一、往Excel中写数据

  使用pip install xlwt安装xlwt模块,用xlwt模块进行对Excel进行写数据。

import xlwt

# book = xlwt.Workbook()
# sheet = book.add_sheet('students')
#
# sheet.write(0, 0, 'id')
# sheet.write(0, 1, 'name')
# sheet.write(0, 2, 'age')
#
# sheet.write(1, 0, '1')
# sheet.write(1, 1, 'xiaohei')
# sheet.write(1, 2, '18')
#
# book.save('students.xls') # 如果后缀是xlsx,用微软的office打不开 stus = [
[1,'ds','bejing',51],
[2,'fd','shanghai',28],
[3,'zc','shanghai',16],
[4,'lhy','shanghai',21],
[5,'ylm','shanghai',35],
[6,'wxl','beijing',16],
]
stus.insert(0, ['编号', '姓名', '地址', '年龄'])
book = xlwt.Workbook()
sheet = book.add_sheet('sheet1')
# 第一种写法
# row = 0
# for stu in stus:
# col = 0
# for s in stu:
# sheet.write(row, col, s)
# col += 1
# row += 1
# 第二种写法
for row,stu in enumerate(stus):
for col,s in enumerate(stu):
sheet.write(row, col, s) ages = [s[-1] for s in stus if type(s[-1]) != str]
avg_age = round(sum(ages) / len(ages), 2)
sheet.write(row+1, 0, '平均年龄')
sheet.write(row+1, 1, avg_age)
book.save('students.xls')

二、读取Excel中的数据

  使用pip install xlwt安装xlrd模块,用xlrd模块进行对Excel进行读取数据。

import xlrd

book = xlrd.open_workbook('students.xls')
# sheet = book.sheet_by_index(0)
sheet = book.sheet_by_name('students') print(book.sheets()) # 所有的sheet页,返回的是一个list,list里面是每个sheet对象 for s in book.sheets():
print(s.row_values(1)) print(sheet.cell(0, 0).value)
print(sheet.row_values(0))
print(sheet.row_values(1)) print(sheet.col_values(0))
print(sheet.col_values(1)) print(sheet.nrows) # 多少行
print(sheet.ncols) # 多少列

三、修改Excel

  使用pip install xlutils 安装xlutils 模块,用xlutils 中的copy进行复制Excel,用xlrd模块进行对Excel进行读取数据,用copy的数据进行修改。

# 修改Excel, 在copy的sheet进行修改
from xlutils import copy
import xlrd book = xlrd.open_workbook('students.xls')
sheet = book.sheet_by_index(0)
new_book = copy.copy(book)
copy_sheet = new_book.get_sheet(0) for row in range(1, sheet.nrows-1):
addr = sheet.cell(row, 2).value
addr = addr.replace('beijing', '北京').replace('shanghai', '上海')
copy_sheet.write(row, 2, addr) new_book.save('students.xls')

python 09篇 操作Excel的更多相关文章

  1. 转 Python - openpyxl 读写操作Excel

    Python - openpyxl 读写操作Excel   openpyxl特点   openpyxl(可读写excel表)专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间 ...

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

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

  3. python用openpyxl操作excel

    python操作excel方法 1)自身有Win32 COM操作office但讲不清楚,可能不支持夸平台,linux是否能用不清楚,其他有专业处理模块,如下 2)xlrd:(读excel)表,xlrd ...

  4. python通过openpyxl操作excel

    python 对Excel操作常用的主要有xlwt.xlrd.openpyxl ,前者xlwt主要适合于对后缀为xls比较进行写入,而openpyxl主要是针对于Excel 2007 以上版本进行操作 ...

  5. 用python库openpyxl操作excel,从源excel表中提取信息复制到目标excel表中

    现代生活中,我们很难不与excel表打交道,excel表有着易学易用的优点,只是当表中数据量很大,我们又需要从其他表册中复制粘贴一些数据(比如身份证号)的时候,我们会越来越倦怠,毕竟我们不是机器,没法 ...

  6. Python - openpyxl 读写操作Excel

    openpyxl特点   openpyxl(可读写excel表)专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间转换容易 注意:如果文字编码是“gb2312” 读取后就会显 ...

  7. python使用xlrd操作Excel文件

    一.xlrd读取Excel文件 用xlrd进行读取比较方便,流程和平常手动操作Excel一样,打开工作簿(Workbook),选择工作表(sheets),然后操作单元格(cell). 例子:要打开当前 ...

  8. python使用xlrd 操作Excel读写

    此文章非本人 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 二.使用介绍 1.导入模块 i ...

  9. Python使用openpyxl操作excel表格

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 ht ...

随机推荐

  1. 现代传感器的接口:中断驱动的ADC驱动程序

    现代传感器的接口:中断驱动的ADC驱动程序 Interfacing with modern sensors: Interrupt driven ADC drivers 研究了如何编写一个阻塞的模数转换 ...

  2. python常识系列14-->正则表达式基础之re模块

    前言 勤奋的含义是今天的热血,而不是明天的决心,后天的保证. 一.正则表达式是什么? 描述了一种字符串匹配的模式(pattern) 功能一:用来检查一个字符串串是否含有某种子字符串 功能二:将匹配的子 ...

  3. Spring Cloud02:Eureka Server注册中心

    一.Eureka是什么 Eureka是Netflix开源的基于REST的服务治理方案,Spring Cloud集成了Eureka,提供服务治理和服务发现功能,可以和基于Spring Boot搭建的微服 ...

  4. mybatis入门案例——IDEA版

    环境:IDEA2017,jdk1.8.0,maven3.5.2 步骤: 1.创建一个普通Maven工程,删掉src目录,再创建一个maveb的model命名为mybatis-01 2.配置 pom.x ...

  5. 打开黑盒:从 MySQL架构设计出发,看它是如何执行一条 SQL语句的

    1.把MySQL当个黑盒子一样执行SQL语句 我们的系统采用数据库连接池的方式去并发访问数据库,然后数据库自己其实也会维护一个连接池,其中管理了各种系统跟这台数据库服务器建立的所有连接 当我们的系统只 ...

  6. 「模拟8.17」star way to heaven(并查集,最小生成树)

    80分打法 首先二分最后答案,答案即为r,可看作以每个k为圆心r为半径的圆 我们进行并查集维护,维护相交的圆的边界 最后判断是否存在圆将上下边界覆盖,如有证明不行 1 #include<iost ...

  7. 【Java】equals 和 == 的区别

    之前有在 Java字符串比较(3种方法)以及对比 C++ 时的注意项 中写过一点关于 equals()与==的比较,但最近的Java考试复习过程中发现有部分情况没涉及到,故重新学习一下 在编写代码的时 ...

  8. 跟着官方文档学Maven构建生命周期

    在IntelliJ IDEA中,显示了Maven的Lifecycle: 只需要学习这些命令,就能构建一个Maven项目. 三个内置生命周期 Maven内置了三个生命周期:clean.default和s ...

  9. 本地SQL Server怎么连接服务器上的数据库

    在阿里云的安全组规则中的入方向加上端口1433就好了,首先得要有这个,其他的都是后话

  10. golang中的defer和return的执行顺序

    结论 go中是先给return准备返回值,再根据defer先进后出的规则执行,最后将返回值返回给调用者 测试用例1验证分析 代码片段如下: func foo_1() (err error) { def ...