吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2890|回复: 3
收起左侧

[Python 原创] 【python】openpyxl入门教程

[复制链接]
lfty89 发表于 2021-3-21 19:45
本帖最后由 lfty89 于 2021-3-21 21:27 编辑

openpyxl入门教程(一)

0. readme
* 本帖主要对openpyxl的使用作一入门级的简单说明;
* 本帖的部分代码,备注等来源于openpyxl.readthedocs.io网站的tutorial;
* 本帖针对非计算机专业的、因工作岗位需求、需要使用Python脚本处理excel文档的编程小白;

1. reference
python官网,可下载python的安装程序:https://www.python.org/downloads/windows/
openpyxl文档速查:https://openpyxl.readthedocs.io/en/stable/index.html

2. introduction
简单介绍下Python背景知识
2.1 python
python因其具备上手难度低、开发周期短、代码可读性高、应用面广等优势,目前已被很多行业作为‘计算机辅助脚本语言’用于提高本行业/岗位的作业效率。
2.2 python version
python作为一种计算机编程语言,有两个大版本:python2和python3,这两个版本在代码开发的语法、库应用等方面存在些许不同,但大体相差不大;
其中,python2曾经具备很高的流行度,其最后一个小版本python2.7也是python程序员们最喜欢的一个python版本,但是现在python官方已不再对python2进行维护;

目前全球的python项目也逐渐迁移至python3,所以我们也直接从python3入手
2.3 openpyxl
openpyxl是一个提供对
Excel2010 xlsx/xlsm/xltx/xltm文件进行读写操作的python库,也是本帖介绍的主要对象。

3. environment deployment
3.1 安装python

从官网(www.python.org/downloads/windows/)上下载对应版本的python并安装,选择Python版本的时候注意查看描述,选择适合自己操作系统以及安装方式的,推荐使用安装版(installer):
image.png
这里用安装版作示例,下载后,开始安装,注意勾选(Add Python 3.X to PATH),将python解释器等加入环境变量:
image.png
安装完成后打开CMD输入python,可返回电脑已安装的python版本:
image.png
3.2 安装pip & 利用pip安装openpyxl
pip(package installer for python) 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能;
openpyxl需要使用最新的pip来安装,python3已自带pip,但不见得是最新的,在使用的过程中会提示对pip进行升级:
[Shell] 纯文本查看 复制代码
python -m pip install --upgrade pip

使用pip安装openpyxl:
[Shell] 纯文本查看 复制代码
pip install openpyxl

装好后即可使用openpyxl库。


4. openpyxl
Python对于文件操作方面,可以调用自己的一套原生函数接口,但如果只是操作excel文件的话,可以直接使用openpyxl提供的接口;
4.1 create workbook & create sheet
示例代码:
[Python] 纯文本查看 复制代码
from openpyxl import Workbook
#There is no need to create a file on the filesystem to get started with openpyxl.
#Just import the Workbook class and start work:
def workbook_create():
    wb = Workbook() # get the Workbook obj
    ws = wb.active  # A workbook is always created with at least one worksheet. 
    #You can get it by using the Workbook.active property, grab the active worksheet
    # Data can be assigned directly to cells
    ws['A1'] = 42
    # Rows can also be appended
    ws.append([1, 2, 3])
    # Python types will automatically be converted
    ws['A2'] = "just for test"
    # Save the file
    wb.save("sample.xlsx")
if __name__ =='__main__':
    workbook_create()

代码说明:
Workbook()函数返回了Workbook对象,可调用active属性获取默认的工作表sheet对象;
利用sheet对象,可对表中的数据直接进行修改;
利用Workbook的save函数可保存创建的excel文件。
4.2 insert multiple sheets & small tips
示例代码:
[Python] 纯文本查看 复制代码
from openpyxl import Workbook
def create_sheet():
    wb = Workbook()
    ws1 = wb.create_sheet("ws1-sheet") # insert at the end (default)
    ws2 = wb.create_sheet("ws2-sheet", 0) # insert at first position
    ws3 = wb.create_sheet("ws3-sheet", -1) # insert at the penultimate position
    ws1.title = "new-ws1-sheet"

    ws2.sheet_properties.tabColor = "1072BA"
    ws4 = wb["new-ws1-sheet"]
    ws4['A1'] = 42
    #print
    print(wb.sheetnames)
    for sheet in wb:
        print(sheet.title)

    wb.save("exp4.2.xlsx")
if __name__ =='__main__':
    create_sheet()

代码说明:
create_sheet()函数允许在workbook中插入sheet,第二个参数决定插入位置;
可使用sheet的title属性直接对sheet进行重命名;
可对sheet标签的颜色进行设置;
sheet的title和对象构成了键-值对,可通过指定sheet的title返回对应的对象(代码第10行),用于选择sheet
可通过workbook的sheetnames返回所有sheets的集合;


4.3 data manipulating & cells
示例代码:
[Python] 纯文本查看 复制代码
from openpyxl import Workbook
def cells_data():
    wb = Workbook()
    ws1 = wb.create_sheet("ws1-sheet")
    wb.save("exp-4.3.xlsx")
    ws1['A1'] = 42
    cell_A1 = ws1['A1']#cell_A1.value = 42   print(cell_A1.value)
    cell_A2 = ws1['A2']
    cell_A2.value = "A2 value"#cell_A2.value = 42  print(cell_A2.value)
    cell_B4 = ws1.cell(row=4, column=2, value=10)#cell_B4.value = 10
    wb.save("exp-4.3.xlsx")
if __name__ =='__main__':
    cells_data()



代码说明:
可通过sheet索引直接返回单元格cell的对象(第7行,第8行);
可通过value属性设置或者读取单元格的值;
sheet对象可通过.cell()函数直接初始化单元格对象的值(第10行)

















发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

52changew 发表于 2021-3-21 23:15
看一下; 了解下; 谢谢 分享!
xinxingbai 发表于 2021-3-21 23:24
头像被屏蔽
2976395086 发表于 2022-11-19 20:40
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-1 07:28

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表