Python—处理Excel表格
一、使用xlrd和xlwt这两个库来处理excel,即xlrd是读excel的库,xlwt是写excel的库
1.使用 xlrd 读取Excel数据
# -*- coding:utf-8 -*-
import xlrd def read_excel():
book = xlrd.open_workbook(filename='D:\Excel3.xls') # 打开文件
print(book.sheet_names()) # 获取所有表格名字 # 获取表格的方式
sheet1 = book.sheets()[0]
sheet2 = book.sheet_by_index(0) # 根据顺序获取sheet,0表示第一个sheet
sheet3 = book.sheet_by_name('学生1') # 根据sheet页名字获取sheet
print(sheet1.name, sheet1.nrows, sheet1.ncols) # 获取excel里面有多少行,多少列 sheet1.row_values(1) # 取第几行的数据,返回一个列表list
sheet1.col_values(1) # 取第几列的数据,返回一个列表list # 获取表格里的内容,三种方式:指定行和列获取数据,0行0列代表excel中第一个数据
print(sheet1.cell(1, 1).value)
print(sheet1.cell_value(1, 1))
print(sheet1.row(1)[1].value) excelhead = []
for i in range(sheet1.ncols): # 查询表头,即获取第一行的数据
excel_head_values = sheet1.col_values(i)
excelhead.append(excel_head_values[0])
print(excelhead) for i in range(sheet1.nrows)[1:]: # 查询行的值,从第二行开始
row_values = sheet1.row_values(i)
print(' '.join([str(x) for x in row_values])) if __name__ == "__main__":
read_excel()
2.使用 xlwt 写入Excel数据
- write(x, y, string):x表示行,y表示列,string表示要写入的单元格内容。
write_merge(x, x + m, y, w + n, string, sytle):x表示行,y表示列,m表示跨行个数,n表示跨列个数,string表示要写入的单元格内容,style表示单元格样式。其中,x,y,w,h,都是以0开始计算的。
- 示例:sheet1.write_merge(21,21,0,1,u'合计',set_style('Times New Roman',220,True)):即在22行合并第1,2列,合并后的单元格内容为"合计",并设置了style。
# -*- coding:utf-8 -*-
import xlwt def write_excel():
book = xlwt.Workbook() # 新建一个excel sheet1 = book.add_sheet('学生1') # 添加一个sheet页,创建第一个sheet:学生1
data = [['姓名', '年龄', '性别', '分数'], ['mary', 20, '女', 90], ['jack', 26, '男', 96]]
raw = 0 # 控制行
for stu in data: # 循环写入
col = 0 # 控制列
for s in stu:
sheet1.write(raw, col, s)
col += 1
raw += 1
sheet1.write_merge(3, 3, 1, 3, '待确认') # 合并列单元格,第2列到第4列合并
sheet1.write_merge(1, 3, 4, 4, '打游戏') # 合并行单元格,第2行到第4行合并 sheet2 = book.add_sheet('学生2', cell_overwrite_ok=True) # 添加一个sheet页,创建第二个sheet:学生2
row0 = ["姓名", "年龄", "爱好", "出生日期"]
col0 = ["张三", "李四", "小明", "小红", "无名"]
for i in range(0, len(row0)): # 写第一行
sheet2.write(0, i, row0[i])
for i in range(0, len(col0)): # 写第一列
sheet2.write(i + 1, 0, col0[i])
sheet2.write(1, 3, '91/12/12')
sheet2.write_merge(5, 5, 2, 3, u'暂无') # 合并列单元格
sheet2.write_merge(2, 3, 3, 3, u'94/05/06') # 合并行单元格 book.save('D:\Excel3.xls') # 保存文件 if __name__ == "__main__":
write_excel()
3.使用 xlutils 修改Excel数据
# -*- coding:utf-8 -*-
import xlrd
from xlutils.copy import copy book1 = xlrd.open_workbook('D:\Excel.xls') # 打开要修改的excel
book2 = copy(book1) # 拷贝一份原来的excel
sheet = book2.get_sheet(0) # 获取第几个sheet页
sheet.write(1, 1, 28) # 写入需要修改的行、列及修改后的值
sheet.write(5, 0, 'mike')
book2.save('D:\Excel.xls')
参考:https://blog.csdn.net/csdnnews/article/details/80878945
参考:https://www.jb51.net/article/60510.htm
二、使用 openpyxl 来处理excel
参考:https://www.jianshu.com/p/45c507e73172
参考:https://segmentfault.com/a/1190000016256490
参考:https://www.cnblogs.com/feifeifeisir/p/10419262.html
之后在研究
Python—处理Excel表格的更多相关文章
- python 处理 Excel 表格
see: http://www.cnblogs.com/sunada2005/p/3193300.html 一.可使用的第三方库 python中处理excel表格,常用的库有xlrd(读excel)表 ...
- python 对Excel表格的写入
python对Excel表格写入需要导入xlrd ,和xlutils两个库 from xlrd import open_workbook from xlutils.copy import copy o ...
- Python 利用Python操作excel表格之openyxl介绍Part2
利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436) ## 绘图 c = LineChart() ...
- Python 利用Python操作excel表格之openyxl介绍Part1
利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436),免费获取以下性能监控工具(类似Nmon精简版) ...
- 【转】python操作excel表格(xlrd/xlwt)
[转]python操作excel表格(xlrd/xlwt) 最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异, ...
- Python 利用Python操作excel表格之xlwt介绍
利用Python操作excel表格之xlwt介绍 by:授客 QQ:1033553122 直接上代码 案例1 #!/usr/bin/env python # -*- coding:utf-8 ...
- Python读写Excel表格
最近在做一些数据处理和计算的工作,因为数据是以.CSV格式保存的,因此刚开始直接用Excel来处理. 但是做着做着发现重复的劳动,其实并没有多大的意义,于是就想着写个小工具帮着处理. 以前正好在一本书 ...
- 通过Python将Excel表格信息导入数据库
前言 公司原采用Excel表格方式记录着服务器资产信息,随着业务的增加,相应的硬件资产也增加,同时物理机虚拟化出多台虚拟机,存在表格管理杂乱.变更资产信息不能及时相互同步, 为了紧跟时代的步伐,老大搞 ...
- python - 操作excel表格
说明:由于公司oa暂缺,人事妹子在做考勤的时候,需要通过几个excel表格去交叉比对员工是否有旷工或迟到,工作量大而且容易出错. 这时候it屌丝的机会来啦,花了一天时间给妹子撸了一个自动化脚本. 1. ...
- 使用Python处理Excel表格的简单方法
使用Python处理Excel表格的简单方法 这篇文章主要介绍了使用Python处理Excel表格的简单方法,本文给大家介绍的非常详细,需要的朋友可以参考下 Excel 中的每一个单元,都会有这些属性 ...
随机推荐
- CSS样式的引入&区别&权重&CSS层叠性&CSS样式的来源
CSS样式的引入: 内部样式: 内部样式:写在当前页面style标签中的样式 内联样式:写在style属性中的样式 外部样式: link标签引入的CSS文件 @import引入的CSS文件,需要写在c ...
- vs2019本地调试异步程序
1.vs2019创建一个webapi服务,启动本地webapi服务, 2.使用vs2019再打开一个相同的应用程序,并将异步程序所在的程序集设置为启动项,并启动,启动后点击调试->全部拆离 3. ...
- BUG搬运工:CSCun88303-CIMC Memory Leak : Can't SSH/HTTP to CIMC
Symptom:Unable to SSH/HTTP to the CIMC of the C-series server, however the CIMC can be pinged. Also ...
- 【PAT甲级】1066 Root of AVL Tree (25 分)(AVL树建树模板)
题意: 输入一个正整数N(<=20),接着输入N个结点的值,依次插入一颗AVL树,输出最终根结点的值. AAAAAccepted code: #define HAVE_STRUCT_TIMESP ...
- 201771010131-王之泰 实验一 软件工程准备—<通读《现代软件工程—构建之法》后所思所想>周学习总结
项目 内容 作业所属课程 https://www.cnblogs.com/nwnu-daizh/ 作业要求 https://www.cnblogs.com/nwnu-daizh/p/12369881. ...
- Python 基础之面向对象之装饰器@property
一.定义 装饰器@property可以把方法变成属性使用作用: 控制类内成员的获取 设置 删除获取 @property设置 @自定义名.setter删除 @自定义名.deleter 二.具体实现 1. ...
- Go语言学习笔记(四)
一.字符串 1.字符串截取 可以使用len(字符串变量)获取字符串的字节长度,其中英文占1个字节长度,中文占用3个字节长度 可以使用变量名[n]获取到字符串第n+1个字节,返回这个字节对应的Unico ...
- 区间树Splay——[NOI2005]维护数列
无指针Splay超详细讲解 区间树这玩意真TM玄学. 学这东西你必须要拥有的 1.通过[模板]文艺平衡树(Splay),[模板]普通平衡树,GSS3 - Can you answer these qu ...
- springboot中关于datasource的配置
datasource spring.dao.exceptiontranslation.enabled: 是否开启PersistenceExceptionTranslationPostProcessor ...
- Activiti工作流数据库表结构
Activiti工作流引擎数据库表结构 数据库表的命名 Acitiviti数据库中表的命名都是以ACT_开头的.第二部分是一个两个字符用例表的标识.此用例大体与服务API是匹配的. ACT_RE_*: ...