python 办公_python 让办公变得自动化
openpyxl是什么
openpyxl是一个python第三方库,用于操作excel表格。openpyxl可以对excel进行读取数据或者写入数据,使办公变得自动化!
安装
前面说过openpyxl是一个第三方库,所以我们在使用openpyxl之前要进行一个安装。我们可以用wheel安装法,也可以用zip,但是我建议大家还是用pip,简便一些。
首先我们要打开我们的终端
在终端里输入pip install openpyxl
(下载速度太慢的可以使用豆瓣源pip install openpyxl -i http://pypi.douban.com/simple/)
如果没报错,就说明安装成功了!
读取数据
安装完毕之后,我们就开始尝试读取excel里面的数据,就拿一个叫做报价.xlsx的文件举例子。
(请扫码获取文件)
首先,我们要从openpyxl这个库里面导入一个叫做load_workbook的模块,输入这段代码。
from openpyxl import load_workbook
之后我们就能导入我们的excel表格了。不过要注意的是,excel表格文件有两种后缀名,一种是.xlsx,还有一种是.xls。我们在导入的时候我们只能导入.xlsx的excel表格文件。如果你的excel表格文件是.xls结尾的,你可以把后缀名改成.xlsx。不用担心,改了之后你的excel表格不会出现任何问题的。还有的就是load_workbook这个函数不能用于创建excel表格,只能获取到已经创建的表格。
(这里的话我建议还是打开xls文件另存为xlsx文件, xls文件也有xlrd、xlwt两个包能使用,但是这两个包不好用)
workbook = load_workbook('报价.xlsx')#这里请输入你的excel表格文件的路径
在我们这个的报价表格文件里,我们有两张工作表(英文为sheet)。分别叫做Sheet1和Sheet2(当然你可以改名)。我们可以用workbook.sheetnames属性来打印出所有的sheet。
print(workbook.sheetnames)
我们还可以通过workbook[sheet名字]获取表格,然后再通过sheet.dimensions属性获取Sheet1和Sheet2的大小。
for i in workbook.sheetnames:
sheet = workbook[i]#获取每一张sheet工作表
print(sheet.dimensions)#打印出每一张sheet工作表的尺寸
返回结果:
A1:B5
A1:A1
若要获取当前的工作表名字,使用sheet.title方法
print(sheet.title)
如果要获取一个指定格子的数据,我们可以通过cell = sheet[格子],然后cell.value实现。
cell = sheet['A1']
print(cell.value)
这样我们就获取到了A1格子的数据“PS5 2020款”。
如果要获取某一列的所有带有数据的格子,我们可以这么做。
cells = sheet['A']#进入A列
print(cells)
返回结果(元组):
(, , , , )
写入数据
我们完成了如何读取数据,现在就来开始创建一个excel表格文件。
引入我们的openpyxl库。
import openpyxl
如果你已经创建好了一个准备被写入的excel表格文件,请输入一下代码。
wb = openpyxl.load_workbook('文件路径')
如果你想写入数据到一个还没有被创建过的excel文件,请输入一下代码。
wb = openpyxl.Workbook()
我们现在还要获取sheet,如果你是单个sheet,直接这样做就行了。
sheet = wb.active
如果你的excel表格文件有多张工作表,你就需要这样做。
sheet = workbook[指定工作表名称]
以下是在指定格子写入数据的代码。
cell = sheet['格子']#把A1改成你想要的格子
cell.value = '内容'
wb.save(保存的文件名)
当你打开这个excel文件,你就会发现A1格子上你刚刚写入的数据(若这个格子已经有了一段文字,新写入的数据会把它覆盖掉)。
若想要一次性写入多个数据,我们还可以利用sheet.append方法。
data = [['x','x','x'],['x','x','x','x']]
for row in data:
sheet.append(row)
wb.save(保存的文件名)
data是一个带有列表的列表,里面的列表的数据就相当于工作表的每一行,在每一次append之后,sheet就会跳到下一行继续加数据。
如果你想创建一个新的sheet,那你可以使用create_sheet()方法。
下一步
openpyxl的教程就结束了,如果你还想了解更多关于openpyxl的东西,你可以进行百度openpyxl的帖子。或者你还可以去阅读openpyxl的官方教程
本作品采用《CC 协议》,转载必须注明作者和本文链接
coder Derek
python 办公_python 让办公变得自动化相关推荐
- python智能办公_Python智能办公-发送电邮
使用Python发送电邮 教程目录 使用 SMTP_SSL() 和 starttls() 建立安全连接 使用 Python内置模块 smtplib 寄送基本邮件 使用 email 模块寄送 HTML ...
- python高效办公_Python高效办公|自动分发任务
01 问题描述 在工作中,总能遇到分配任务的问题,例如我自己的工作中,一大堆的影像图(一个影像图是几个文件组成),要根据地区分发给不同的同事,如果用电脑本身的搜索文件工具,然后依次拷贝给各个同事,是很 ...
- python自动化办公入门书籍推荐-好书推荐 | Python 如此神奇,让繁琐工作自动化...
原标题:好书推荐 | Python 如此神奇,让繁琐工作自动化 Python 如此神奇,让繁琐工作自动化 编程的威力 如今,人们面临的大多数任务都可以通过编写计算机软件来完成. Al Sweigart ...
- python自动化办公入门书籍-Python如此神奇,让繁琐工作自动化 (文中含Python基础)...
原标题:Python如此神奇,让繁琐工作自动化 (文中含Python基础) "你在2个小时里完成的事,我们3个人要做两天."21世纪早期,我的大学室友在一个电子产品零售商店工作.商 ...
- Excel 数据的统计分析及绘图自动处理的python示例(精益办公实战2)
Excel 数据统计分析及绘图的自动处理python示例(精益办公实战2) 1.背景描述: "看数不如看表,看表不如看图" 2.数据准备和任务要求: 数据准备 一份已经经过数据清洗 ...
- Excel数据合并到统计分析自动处理的python示例(精益办公实战1)
Excel数据合并到统计分析自动处理的python示例(精益办公实战1) 1.背景描述: 社会的发展不断深化了经济对科技和数字化的依赖,企业将不得不面对越来越多,甚至是海量的数据和信息.Excel(或 ...
- OA自动化办公系统springboot办公系统源码
个人已实践,功能齐全代码简单,强烈推荐使用. javaOA自动化办公系统springboot办公系统源码 springboot freemark jpa mybatis mysql实现的OA自动化办公 ...
- python书籍_python书籍
文章底部留言 给您发送下载链接 或者加微信 bigzql 索要 ---来源网络--- 序号 书籍 7001 面向对象的思考过程.pdf 本书是一部独具特色的面向对象技术著作.书中结合代码示例生动透彻地 ...
- Python中变量名与变量值的关系
在Python中变量名与变量值的只是绑定关系如图,变量名只是一个标识符与变量值绑定在一起而已 转载于:https://www.cnblogs.com/liuxiaowei/p/7163470.html
最新文章
- 按照Right-BICEP要求对实验二进行测试
- Juniper NetScreen 基于源NAT转换
- 常见Java面试题之JVM加载class文件的原理机制
- 【线程】线程基本函数
- arcgis python实例_arcgis二次开发_arcgis二次开发python_arcgis二次开发实例
- Nginx(二) 反向代理负载均衡
- [LeetCode] 83. Remove Duplicates from Sorted List
- Python连接DB2数据库
- 使用Python和MySQL实现网上购物管理系统
- linux网络编程--socket服务器和客户端TCP编程及多进程编程
- java微信公众号百度地图,微信企业号开发之微信考勤百度地图定位
- 常用汉字库(约7千个)
- 谷歌浏览器http请求出现:Provisional headers are shown 提示
- 计算机重装系统后黑屏,电脑重装系统后黑屏怎么办
- Centos启动默认打开网络
- 最牛训犬师,专治拆家打架咬人,20多年搞定2000多条狗
- 忆阻器交叉开关阵列中的长短期记忆(LSTM)神经网络
- 原力的黑暗面3-恐惧是黑暗之源
- Date日期——格式化日期时分秒
- 2.28 内置对象 (查阅MDN)
热门文章
- for of 的用法区别_语法全解介词to和for的用法 如何简单区别使用
- python3调用java_Python程序中调用Java代码的实践
- gorm preload 搜索_macOS系统本地文件搜索工具
- java关于23种设计模式的有趣见解
- JZOJ__Day 2:【NOIP普及模拟】和谐数
- 特征值与特征向量(一)
- ktor框架用到了netty吗_如何使用 Ktor 快速开发 Web 项目
- python中 s是什么意思_python – “S”在同情中意味着什么
- ASP.NET Web API中展示实体Link相关的方面
- Linux 进程间通讯详解五