当前位置:   article > 正文

openpyxl 插入列_技术经验 | 详解 Python 操作 Excel 神器 openpyxl 的各种操作

openpyxl 添加列

小编推荐

作者详细盘点了 Python 操作 Excel 神器 openpyxl 的各种操作。以图表/代码的形式讲解如何对 Excel 进行读取、写入及样式调整,可以当成速查手册使用,随用随查,建议收藏!

要点概览:

  1. 安装 openpyxl

  2. Excel 读取

  3. Excel 写入

  4. 样式调整

原创:陈熹         责编:陶佳元

安装

openpyxl是一个非标准库,因此需要自行安装,安装过程并不困难,Windows/Mac用户均可以在命令行(CMD)/终端(Terminal)中使用pip安装

pip install openpyxl

前置知识

在使用这个模块之前我们需要对Excel表格结构有个比较细致的了解,见下图:ba607b0c292b8a22d7930c29b86af694.png简而言之,一个Excel工作簿workbook由一个或者多个工作表sheet组成,一个sheet可以看作是多个行row组成,也可以看作是多个列column组成,而每一行每一列都由多个单元格cell组成!

读取Excel

1.载入Excel

from openpyxl import load_workbookworkbook = load_workbook(filename='测试.xlsx’) print(workbook.sheetnames)

注意load_workbook只能打开已经存在的Excel,不能创建新的工作簿

2.根据名称获取工作表

from openpyxl import load_workbookworkbook = load_workbook(filename='其他.xlsx') print(workbook.sheetnames)sheet = workbook['工作业务']

如果只有一张工作表也可以用:

sheet = workbook.active

3.获取表格内容所在的范围

print(sheet.dimensions)

4.获取某个单元格的具体内容

这边提供两种方法,注意都需要以cell.value形式输出具体值35d63298d25e4b476a90b3345c542d61.png

5.获取某个单元格的行、列、坐标

print(cell.row, cell.column, cell.coordinate)

6.获取多个格子的值

24bb349862949d4c25ba4aa0fe529ed5.png这里也有一个细节,Excel中每一列由字母确定,是字符型;每一行由一个数字确定,是整型。当然,上面的三种方法都是获取一堆表格,现在要输出每一个表格的值就需要遍历

for cell in cells:     print(cell.value)

三种方法依然有自己的局限性,如果我需要特定范围的值,且懒得换算成字母数字坐标。例如我想要获取第2行至第5行、第1列至第3列的全部单元格。因此必须掌握第4种方法:

b361c62a66ce26bfb8e7c704f401ced5.png

7.读取所有的行

for row in sheet.rows:     print(row)

Excel写入

1. 保存Excel

workbook.save(filename='Excel工作表1.xlsx')
  • 如果读取和写入Excel的路径相同则为对原文件进行修改
  • 如果读取和写入Excel的路径不同则为保存成新的文件

2.写入单元格

cell = sheet['A1'] cell.value = '业务需求

3.写入一行或多行数据

24829d185ab42936a38e07d053c5cffc.pngffec628173ccd388df62cfe34d97bb01.png

4.将公式写入单元格并保存

sheet['K11'= '=AVERAGE(K1:K10)' 

5.插入一行或多行

e61f2427189b44406ec99bf66f00148b.png

6. 插入一列或多列

019175943419320b743a8b24a84c3f86.png

7.删除多行

aedf236513817d83c74789e59212aeb3.png

8.删除多列

c740f2ca58bd783cf86830f3856e5db5.png

9. 移动范围数据

abc6dac35af83bc546251364ad3bbe91.png

10. 创建新的Excel表格

from openpyxl import Workbookworkbook = Workbook()

Excel样式调整

1. 设置字体样式

b4b21139b8e736b0d000e3be56b02e37.png

2. 设置对齐样式

9cb4d1c0788da1dbdf09ab6d19cb4ca6.png
  • 水平对齐:distributed, justify, center, left, fill, centerContinuous, right, general
  • 垂直对齐:bottom, distributed, justify, center, top

3. 设置边框样式

c7da7112ab209db55a391e99ac7108d4.png
  • 边线样式:double, mediumDashDotDot, slantDashDot, dashDotDot, dotted, hair, mediumDashed, dashed, dashDot, thin, mediumDashDot, medium, thick

4. 设置单元格填充样式

4b27dbfcf3f62b80fb5c7f34835bc292.png

5. 设置行高和列宽

sheet.row_dimensions[1].height = 50 sheet.column_dimensions['C'].width = 20 

6. 单元格合并与取消

# 合并sheet.merge_cells('A1:B2') sheet.merge_cells(start_row=1start_column=3,                   end_row=2end_column=4)# 取消合并sheet.unmerge_cells('A1:B2') sheet.unmerge_cells(start_row=1start_column=3,                     end_row=2end_column=4)

关于我们

69e94560d9c9b25e0c8d9f299851ea0c.png

  「PyChina」是 PyChina.org 的官方微信公众号(ID:PyChinaOrg),创立于 2014 年,目前由 PyChina 主理。所有和 PyChina、PyCon China 大会相关的动态都会第一时间在这里发布,除此之外,你还可以在这里看到 Python 相关的技术分享和最新资讯,欢迎关注!

欢迎关注 PyChina 官方账号️  
官网:https://pychina.org
公众号(@PyChinaOrg)

阅读推荐

好文推荐 | 如何用 Kubernetes 搞定 CICD

【PyCon China 2020 正式启动】与您相约十周年!

【志愿者招募】PyCon China 邀你牵手十周年!

技术经验 | 突破 DockerHub 限制 全镜像加速服务

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号