python 操作excle 之第三方库 openpyxl学习
python 操作excle 之第三方库 openpyxl学习
安装 pip install openpyxl
英文文档链接 : 点击这里~
1,定位excel
新建excel和打开现有的excel
import openpyxl
wb1 = openpyxl.load_workbook('text.xlsx') #定位到现有的excle
wb2= openpyxl.Workbook() #创建一个新的excle表 (其中没有任何工作簿!!!)
定位到具体的工作表(因为一个excle中可能存在多个工作表)
bo1=wb1.active #定位到 wb1 指向的excle 的第一个工作簿
bo2=wb1.get_sheet_by_name("name") #定位到 名为 name 的工作簿
bo3=wb1["new title"] #定位到名为 new title 的工作簿
2,读取excle中的内容
使用openpyxl.wordsheet.Worksheet.cell方法从单元格中读取内容
#读取内容
#利用openpyxl读取内容主要是从每个单元格中 读取
#定位到单元格的方法
#使用value属性获取当前单元格的值
content=bo1['A4'].value
content3=bo1.cell(row=4,column=2).value
#也可以使用迭代 多个单元格在使用value方法,类似于list的切片
content4=bo1['A1':'C2'] #使用
#openpyxl.worksheet.Worksheet.iter_rows()方法
for a in content4:
print(a.value)
3,写入,修改内容
3.1 针对单个单元格写入
参考代码
import openpyxl
work=openpyxl.load_workbook("dat.xlsx")
book=work.active
print("before:",book.cell(1,1).value)
book['A1'].value="1"
#book.cell(1,1).value="1" 效果等同于上调语句
print("after:",book.cell(1,1).value)
work.save("123.xlsx")#一定记得保存!!!
运行截图
3.2 针对多个单元格写入
参考代码
import openpyxl
work=openpyxl.load_workbook("123.xlsx")
book=work.active
# print("before:",book.cell(1,1).value)
# book['A1'].value="1"
# print("after:",book.cell(1,1).value)
# work.save("123.xlsx")
for a in range(1,6): #写入第1行至第5行
for b in range(1,11): #迭代第1列到第10列
#下面三条语句的效果都是一样的
book.cell(a,b).value=str(a)+":"+str(b)
# book.cell(row=a,column=b).value=str(a)+":"+str(b)
# book.cell(row=a, column=b,value="{}".format(str(a)+":"+str(b)))
work.save("1.xlsx")
实现的效果
4,文件保存
通过 openpyxl.workbook,Workbook.save()方法保存文件是最简单最安全的:
wb.save('balances.xlsx')
python 操作excle 之第三方库 openpyxl学习的更多相关文章
- Python用pip安装第三方库时换源下载
pip默认是从Python官网下载第三方库,从国外下载当然不如从国内下载来得快 豆瓣:https://pypi.doubanio.com/simple 还有其它源,阿里云等等,一个就够用了 用pip安 ...
- Python 读写操作Excel —— 安装第三方库(xlrd、xlwt、xlutils、openpyxl)
数据处理是 Python 的一大应用场景,而 Excel 则是最流行的数据处理软件.因此用 Python 进行数据相关的工作时,难免要和 Excel 打交道. 如果仅仅是要以表单形式保存数据,可以借助 ...
- 【Python学习笔记】多版本python使用pip安装第三方库
不知道是不是有人跟我一样,一直Python2与Python3混着用,然而在cmd中默认的Python版本只有一种,使用 pip install xxx(第三方库名) 只会安装到默认版本上. 而如果需 ...
- Python机器学习笔记:sklearn库的学习
网上有很多关于sklearn的学习教程,大部分都是简单的讲清楚某一方面,其实最好的教程就是官方文档. 官方文档地址:https://scikit-learn.org/stable/ (可是官方文档非常 ...
- Python开发:部分第三方库无法在线安装解决方法
前言:Python开发:Python2和Python3的共存和切换使用 一.问题如下: 1.截图: 2.错误信息: Could not find a version that satisfies th ...
- python使用pip安装第三方库以及镜像使用豆瓣源安装第三方库
2018/8/7 在使用pip安装pynum第三方库时的随笔 所有的前提都是你成功安装了pip 首先第一步 打开命令提示符 输入pip show pip 查看当前pip版本 然后可以上官网搜索一下 ...
- iOS开发之第三方库的学习--hpple的使用
前言:因为在开发中很可能会遇到html解析,如果后台提供的数据只有html数据,或者开发的app需要从web前端的html里获取数据,就需要html解析工具了. 关于HTML解析库,可以阅读:收集几个 ...
- 重拾Python(2):如何安装第三方库(Windows)
使用python进行数据分析或者数据处理时,往往需要使用一些库,而使用库之前必须安装它.Anaconda内置了很多常用的第三方库,可以满足绝大部分需求,比如numpy.pandas.matplotli ...
- Python操作Excle
python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库.可从这里下载https://pypi.python.org/pypi.下面分别记录p ...
随机推荐
- [转帖]使用Nginx转发TCP/UDP数据
使用Nginx转发TCP/UDP数据 https://www.cnblogs.com/guigujun/p/8075620.html 编译安装Nginx 从1.9.0开始,nginx就支持对TCP的转 ...
- [ES] - 图形化界面工具
推荐更新: Windows平台为 ElasticSearch 6.x 安装 Head 客户端插件 elasticsearch-head A web front end for an Elasticse ...
- java当中JDBC当中请给出一个DataSource的单态模式(SingleTon)HelloWorld例子
[学习笔记] 2.DataSource的单态模式(SingleTon)程序 咱们还接着上面的例子来说.1万个人要看书.千万确保要只建立一个图书馆.要是一不留神,建了两个或三个图书馆,那可就亏大发了.对 ...
- Win10 将本地连接设置为按流量计费网络
在Win10中默认是不允许用户将本地连接设置为按流量计费网络的,不过我们可以通过修改注册表的方式来实现. 将本地连接设置为按流量计费网络后,Windows更新将不会自动下载.同样,Windows应用商 ...
- Python08之分支和循环3(for、while循环)
一.for语句: for 目标 in 表达式: 循环体 i = "湖人总冠军" for each in i: print(each) 湖 人 总 冠 军 for each in i ...
- Linux安装Python3流程
安装必要的依赖库文件 yum -y install zlib zlib-devel bzip2 bzip2-devel ncurses ncurses-devel readline readline- ...
- 机器学习-EM算法-GMM模型笔记
GMM即高斯混合模型,下面根据EM模型从理论公式推导GMM: 随机变量X是有K个高斯分布混合而成,取各个高斯分布的概率为φ1,φ2,... ,φK,第i个高斯分布的均值为μi,方差为Σi.若观测到随机 ...
- hadoop mapper reducer
Local模式运行MR流程------------------------- 1.创建外部Job(mapreduce.Job),设置配置信息 2.通过jobsubmitter将job.xml + sp ...
- 【并发】9、借助redis 实现生产消费,消息订阅发布模式队列
这个就是一个消息可以被多次消费的范例了 其实这个实现的方式可以参考我之前的设计模式,观察者模式 https://www.cnblogs.com/cutter-point/p/5249780.html ...
- Linux 内核错误码
#define EPERM 1 /* Operation not permitted */#define ENOENT 2 /* No such ...