文章目录

  • openpyxl
  • 创建文件
    • Workbook() ---创建 excel 文件
    • Workbook.create_sheet() ---创建 excel 工作簿
    • Worksheet.title ---给工作簿重命名
    • ws.sheet_properties.tabColor = " " 修改标题背景
    • Workbook.sheetname ---查看 excel 所有工作簿
    • Workbook.copy_worksheet() ---创建工作表的副本
  • 获取修改数据
    • 访问一个单元格
      • Worksheet[ ]
      • Worksheet.cell()
      • Worksheet.append()
      • 公式
    • 访问多个单元格
      • 可以使用切片访问单元格范围
      • Worksheet.values ---获取单元格值
  • 保存文件
  • 打开文件
    • openpyxl.load_workbook() ---读取 excel 文件
      • 读取工作簿数据

openpyxl

openpyxl模块属于第三方模块,是一个在 python 中能够处理 excel 文件的模块,还有比较出名的是xlrd、xlwt 分别控制excel文件的读写,这俩个能够兼容所有版本的文件。openpyxl 针对 excel 2003版本之前的兼容性可能不好 但是功能更加强大。

excel文件的版本及后缀2003版本之前 excel的文件后缀是xls2003版本之后 excel的文件后缀是xlsx、csv

创建文件

Workbook() —创建 excel 文件

使用 openpyxl 创建文件。只需导入Workbook类

from openpyxl import Workbook
wb = Workbook()
# 一个 excel 文件创建成功

Workbook.create_sheet() —创建 excel 工作簿

Workbook.create_sheet() 可以创建自定义名称的工作簿。括号里的参数是工作簿名称,还有一个参数是工作簿的位置,也可以不写

from openpyxl import Workbookwb = Workbook()
ws1 = wb.create_sheet('用户信息表', 0)  # 创建了一个用户信息表并放在第一位,如下图


Sheet 工作簿是自动生成的

可以创建多个工作簿,并且它们按顺序排列。

Worksheet.title —给工作簿重命名

使用 Worksheet.title属性更改表名称

from openpyxl import Workbookwb = Workbook()  # 创建 excel 文件
ws1 = wb.create_sheet('用户信息表', 0)  # 创建工作簿用户信息表放在第一位
ws2 = wb.create_sheet('bank_info')  # 创建工作簿bank_info
ws1.title = 'user_info'  # 更改工作簿用户信息表的名称
'''用代码保存一下后,如下图所示'''


用户信息表 被改名成 user_info

ws.sheet_properties.tabColor = " " 修改标题背景

from openpyxl import Workbookwb = Workbook()
ws1 = wb.create_sheet('用户信息表', 0)
ws1.sheet_properties.tabColor = 'FF6666'  # 将标题背景改为指定RRGGBB颜色代码
'''用代码保存一下后,如下图所示'''


变得更好看了…

Workbook.sheetname —查看 excel 所有工作簿

返回包含 excel 文件下所有工作簿名称的列表

from openpyxl import Workbookwb = Workbook()
ws1 = wb.create_sheet('用户信息表', 0)
print(wb.sheetnames)打印结果 ['用户信息表', 'Sheet']

Workbook.copy_worksheet() —创建工作表的副本

Workbook.copy_worksheet()方法可以在单个工作簿中创建工作表的副本。 仅复制单元格(包括值、样式、超链接和注释)和某些工作表属性(包括尺寸、格式和属性)。不会复制所有其他工作簿/工作表属性 - 例如图像、图表。

获取修改数据

访问一个单元格

在 excel 中可以通过位置找到里面的内容,同样使用代码也能通过位置找到内容。

Worksheet[ ]
from openpyxl import Workbookwb = Workbook()
ws1 = wb.create_sheet('用户信息表', 0)
ws1['A1'] = 'XWenXiang'  # ws1['A1'] 代表的是该表中的 A1 位置,我们可以将数据直接赋值给它
'''用代码保存一下后,如下图所示'''


此时的 A1 被填入内容 XWenXiang

Worksheet.cell()
----'除了直接获取位置还可以使用 Worksheet.cell()方法'-----from openpyxl import Workbookwb = Workbook()
ws1 = wb.create_sheet('用户信息表', 0)
ws1.cell(row=4, column=2, value=10)  此方法是通过指定坐标的方式赋值,其中 row 参数代表行数, column 代表列数,value 是填入的数据。
'''用代码保存一下后,如下图所示'''


在第2列第4行的位置填入数字10

Worksheet.append()

Worksheet.append() 可以同时写入多个数据。

from openpyxl import Workbookwb = Workbook()
ws1 = wb.create_sheet('用户信息表', 0)
ws1.append(['name', 'age', 'gender'])
ws1.append(['XWenXiang', '15', 'man'])  # 要用 [] 括起来
'''用代码保存一下后,如下图所示'''


批量写入数据,重复数据还可以加一个循环写入。

公式

模块里使用的公式和 excel 中的公式是一样的

ws1['A6'] = '=sum(A4:A5)'  # 对A4和A5进行求和并写入到A6

访问多个单元格

可以使用切片访问单元格范围
x = ws['A1':'C2']
x1 = ws['C']
x2 = ws['C:D']
x3 = ws[10]
x4 = ws[5:10]
Worksheet.values —获取单元格值
from openpyxl import Workbookwb = Workbook()
ws1 = wb.create_sheet('用户信息表', 0)
ws1.append(['name', 'age', 'gender'])
ws1.append(['XWenXiang', '15', 'man'])for row in ws1.values:print(row)打印结果:
('name', 'age', 'gender')
('XWenXiang', '15', 'man')

保存文件

保存工作簿最简单、最安全的方法是使用 对象的 Workbook.save() 方法 Workbook。
在前面的代码示例都没有将保存代码加入。

wb = Workbook()
wb.save('balances.xlsx')  # balances.xlsx 是保存的路径,也就是文件名。
编辑完要保存才行。

打开文件

openpyxl.load_workbook() —读取 excel 文件

和 Workbook 写入一样,使用 openpyxl.load_workbook() 可以打开现有工作簿。

from openpyxl import load_workbook  # 导入 load_workbook
wb = load_workbook('ex_a.xlsx', read_only=True, data_only=True)  # ex_a.xlsx是文件名
print(wb.sheetnames)  # 打印所有工作簿的名称
读取工作簿数据
方式一from openpyxl import load_workbookwb = load_workbook('ex_a.xlsx', read_only=True, data_only=True)ws = wb['用户信息表']  # 拿到工作薄对象print(ws['A1'].value)  # 取出工作薄对象中 A1 位置的值
方式二from openpyxl import load_workbookwb = load_workbook('ex_a.xlsx', read_only=True, data_only=True)ws = wb['用户信息表']print(ws.cell(row=2, column=1).value)  # 通过行与列的形式来取值
方式三(逐行读取)from openpyxl import load_workbookwb = load_workbook('ex_a.xlsx', read_only=True, data_only=True)ws = wb['用户信息表']for row in ws.rows:  # 获取每一行的数据for data in row:  # 获取每一行中单元格的数据print(data.value)  # 打印单元格的值

Python openpyxl模块简单介绍相关推荐

  1. python namespace,python命名空间(namespace)简单介绍

    python命名空间(namespace)简单介绍 发布时间:2020-09-08 07:20:33 来源:脚本之家 阅读:127 作者:人生与戏 命名空间: 每一个作用域变量存储的位置,或者解释为 ...

  2. python——openpyxl模块

    openpyxl模块 介绍 安装 一.创建文件 1.创建新工作表 2.更改工作表名称 3.查看工作表的名称 4.创建工作表的副本 二.读取数据 1.读取所有数据 2.按行读取 3.读取单元格数据 二. ...

  3. python openpyxl模块安装_python之openpyxl模块

    一 . Python操作EXCEL库的简介 1.1 Python官方库操作excel Python官方库一般使用xlrd库来读取Excel文件,使用xlwt库来生成Excel文件,使用xlutils库 ...

  4. Python Tkinter 模块简要介绍

    [本文章已于 2022/9/26 重制]         这篇博客将简要地介绍 Python 的 Tkinter 模块,主要供没了解过 Tkinter 模块的人进行了解,让初学者也能进行桌面应用开发! ...

  5. python openpyxl模块追加数据_python openpyxl模块实现excel的读取,新表创建及原数据表追加新数据...

    当实际工作需要把excel表的数据读取出来,或者把一些统计数据写入excel表中时,一个设计丰富,文档便于寻找的模块就会显得特别的有吸引力,本文对openpyxl模块的一些常见用法做一些记录,方便工作 ...

  6. Python os模块常用介绍

    os模块提供了大量的文件和目录操作方法函数. 读取文件获取目录一个常见的问题就是无法显示中文目录,网上找的解决方法均是通过重新设置编码方式,通过重新加载sys,设置系统编码方式 import os i ...

  7. python Pyside2模块详细介绍(一)

    文章目录 一.基础篇 1.Python图形界面开发的几种方案 2.PySide2.PyQt5 简介 3.安装 PySide2 4.安装PyQt5 5.配置Pycharm 1)自定义 QtDesigne ...

  8. Python:Scrapy 框架简单介绍

    Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非 ...

  9. python的datetime模块需要装吗,Python datetime模块的介绍(日期格式化 时间戳)

    datetime模块常用的主要有下面这四个类:(要清楚import datetime : 导入的是datetime这个包,包里有各种类) 1. datetime.date   用于表示年月日构成的日期 ...

最新文章

  1. python中的切片和join的妙用
  2. web实践 例会12月27日
  3. css在线留言星号,使用CSS 给表单必选项添加星号的实现方法
  4. mongoose Warning:Server Discovery and Monitoring engine is deprecated
  5. 告毕业生书——七剑送你下天山
  6. ToB产品设计:用户权限系统解析
  7. 判断release模式_AbstractQueuedSynchronizer共享模式与基于Condition的等待/通知
  8. MAMP 无法启动Mysql,错误信息Can't start server : Bind on unix socket: Address already in use...
  9. mac sublime java_Mac环境下使用SublimeText写Java代码
  10. Win7中的clr_optimization服务
  11. 咚咚咚————【Matlab】单片机读取摄像头回传的RGB数组绘制图片
  12. PDFlib TET Crack,文本提取工具包
  13. 顺通机器人_机器人检测
  14. 学习笔记(01):2020软考网络工程师--基础知识视频教程-计算机硬件基础(一)
  15. iOS之解决崩溃Collection was mutated while being enumerated.
  16. Python Turtle绘图基础(一)——Turtle简介、绘图窗体与绘图区域
  17. Qt开发——图片缩放简述
  18. 基于linux2.6.30.4内核的DM9000网卡驱动编译成模块成功ping通
  19. JQuery 判断访问的浏览器是pc还是手机
  20. js随机生成四个英文字母

热门文章

  1. 文字样式的常见属性的如何使用?
  2. MATLAB二维图动画视频制作
  3. yii2 使用 ajax上传文件
  4. CS架构和BS架构的区别(通俗易懂)
  5. cookie 设置 读取
  6. Vue利用Canvas实现逐帧播放图片不闪烁(Vue解决逐帧播放图片闪烁问题)
  7. PDF怎么转成Word?安利几个转换小技巧
  8. android音乐转场动画,iOS转场弹窗、网易云音乐动效、圆环取色器、Loading效果等源码...
  9. 自定义大转盘(简陋版)
  10. 电脑上可以群发手机短信吗