0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python自动化办公之操作Excel文件的教程

电子设计 来源:电子设计 作者:电子设计 2020-12-10 21:44 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

模块导入

import openpyxl

读取Excel文件

打开Excel文件

workbook = openpyxl.load_workbook("test.xlsx")

输出表单名字

# 输出工作簿中所有表单名字
print(workbook.sheetnames)
# 遍历所有表单并输出其名字
for sheet in workbook:
    print(sheet.title)

创建表单

newSheet = workbook.create_sheet("newSheetName")

获取表单对象

# 根据表单名获取表单
sheet3 = workbook.get_sheet_by_name("Sheet3")
sheet4 = workbook["newSheetName"]
# 获取当前活跃的表单
worksheet = workbook.active

获取当前表单数据行列数

# 获取当前表单数据行数
row_count = worksheet.max_row
# 获取当前表单数据列数
row_count = worksheet.max_column

获取单元格对象

selectcell = worksheet["A1"]
selectcell = worksheet.cell(row=1, column=2)    # 行列号从1开始

输出单元格信息

单元格所在的行、列

print(selectcell.row, selectcell.column)

单元格的坐标

print(selectcell.coordinate)

单元格的值

print(selectcell.value)

获取列对象

selectcol = worksheet["C"]

获取列对象中某一单元格

selectcell = selectcol["2"]

获取连续多列组成的对象

selectcols = worksheet["B:C"]

获取所有列组成的对象

allcol = worksheet.cols

获取行对象

selectrow = worksheet["2"]

获取行对象中某一单元格

selectcell = selectcol["C"]

获取连续多行组成的对象

selectcols = worksheet["1:4"]

获取所有行组成的对象

allrow = worksheet.rows

获取一定范围内的单元格组成的对象

cell_range = worksheet["A1:C3"]

遍历一定范围内的单元格

for row_range in cell_range:  #  先行再列
    for cell in row_range:
        print(cell.value)

行的字母表示与数字换算

from openpyxl.utils import get_column_letter, column_index_from_string
print(get_column_letter(2))) # 2 => B
print(column_index_from_string("C"))  # C => 3

编辑Excel文件

创建workbook对象

workbook = openpyxl.Workbook()

创建表单

workbook.create_sheet(index=1, titl)

删除表单

workbook.remove_sheet(workbook.get_sheet_by_name("Sheet3"))

获取当前活跃的表单

sheet = workbook.active

修改表单名称

sheet.title = "设置的表单名称"

修改单元格的值

sheet["A1"] = "New Value"

批量写入数据

方法一

import openpyxl
from openpyxl.utils import get_column_letter, column_index_from_string
workbook = openpyxl.Workbook()
ws1 = workbook.create_sheet("第一页")
for row in range(40):
    ws1.append(range(17))

方法二

import openpyxl
from openpyxl.utils import get_column_letter, column_index_from_string
workbook = openpyxl.Workbook()
ws2 = workbook.create_sheet("第二页")
rows = [
    ["Number", "Batch1", "Batch2"],
    [2,40,30],[3,50,25],
    [4,30,30],[5,60,10]
]
for row in rows:
    ws2.append(row)

方法三

import openpyxl
from openpyxl.utils import get_column_letter, column_index_from_string
workbook = openpyxl.Workbook()
ws3 = workbook.create_sheet("第三页")
for row in range(5,30):
    for col in range(15,24):
        ws3.cell(column=col, row=row, value=123)

修改完毕保存到文件

workbook.save("created.xlsx")
想进一步了解编程开发相关知识,与我一同成长进步,请关注我的公众号“松果仓库”,共同分享宅&程序员的各类资源,谢谢!!!

审核编辑 黄昊宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Excel
    +关注

    关注

    4

    文章

    231

    浏览量

    57788
  • python
    +关注

    关注

    58

    文章

    4884

    浏览量

    90300
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    TDK-Lambda DRL10 - 100系列电源:工业与自动化的理想

    TDK-Lambda DRL10 - 100系列电源:工业与自动化的理想选 在工业和建筑自动化领域,可靠的电源供应是保障系统稳定运行的关键。TDK - Lambda推出的DRL10 - 100系列
    的头像 发表于 04-18 09:15 127次阅读

    通用自动化测试系统:FCT、ATE、ICT、PCBA功能测试

    在现代制造业中,自动化测试已经成为提高生产效率、降低错误率、提升产品质量的关键环节。尤其是在电子产品的测试过程中,FCT(功能测试)、ATE(自动测试设备)、ICT(在线测试)等技术的应用,帮助
    发表于 04-13 14:54

    CAT5116数字电位器:自动化调节的理想

    CAT5116数字电位器:自动化调节的理想选 在电子设计领域,数字电位器作为机械电位器的电子替代品,正发挥着越来越重要的作用。今天,我们就来深入了解一下安森美半导体
    的头像 发表于 04-10 16:05 182次阅读

    五个问题助您应对自动化系统设计中的挑战

    自动化控制系统广泛应用于各类工业领域的工厂自动化场景——从化工厂到工厂生产线。
    的头像 发表于 03-12 10:49 513次阅读

    罗克韦尔自动化2025年自动化博览会精彩回顾

    作为工业自动化、信息和数字转型领域的全球领先企业之一,罗克韦尔自动化于去年 11 月在芝加哥成功举办了年度盛会 —— 2025 年自动化
    的头像 发表于 03-10 09:33 529次阅读

    RZ/T2M MPU:工业控制与自动化应用的理想

    RZ/T2M MPU:工业控制与自动化应用的理想选 在当今的工业控制与自动化领域,对高性能、高可靠性微处理器单元(MPU)的需求日益增长。Renesas Electronics的RZ/T2M
    的头像 发表于 12-29 16:30 528次阅读

    容器NPB + Ansible:自动化运维方案

    传统NPB设备手动配置效率低下。星融元NPB 2.0基于SONiC系统,支持通过Ansible实现自动化运维。通过编写Playbook可批量秒级下发配置至多台设备,将数小时操作转化为标准流程,实现零差错、可追溯的策略管理,极大
    的头像 发表于 12-08 12:00 1096次阅读
    容器<b class='flag-5'>化</b>NPB + Ansible:<b class='flag-5'>自动化</b>运维方案

    罗克韦尔自动化邀您共赴2025年自动化博览会

    11 月 17 - 20 日,作为工业自动化、信息和数字转型领域的全球领先企业之一,罗克韦尔自动化将在芝加哥举办的 2025 年自动化
    的头像 发表于 11-17 17:54 2162次阅读

    订单退款自动化接口:高效处理退款流程的技术实现

    ​  在现代电子商务系统中,订单退款是常见但繁琐的操作。手动处理退款不仅耗时,还容易出错。自动化退款接口通过API集成,能显著提升效率、减少人工干预,并确保准确性。本文将逐步介绍如何设计并实现一个
    的头像 发表于 10-21 10:41 524次阅读
    订单退款<b class='flag-5'>自动化</b>接口:高效处理退款流程的技术实现

    Python脚本实现运维工作自动化案例

    还在为重复性运维工作而烦恼?每天被各种告警、监控、部署搞得焦头烂额?作为一名有10年经验的运维老司机,今天分享5个超实用的Python自动化脚本,让你的运维工作效率提升300%!这些都是我在生产环境中实际使用的案例,代码简洁高效,拿来即用!
    的头像 发表于 08-27 14:46 1360次阅读

    使用Ansible实现大规模集群自动化部署

    当你面对1000+服务器需要部署时,你还在一台台手工操作吗?本文将揭秘如何用Ansible实现大规模集群的自动化部署,让运维效率提升10倍!
    的头像 发表于 08-27 14:41 984次阅读

    自动化计算机的功能与用途

    工业自动化是指利用自动化计算机来控制工业环境中的流程、机器人和机械,以制造产品或其部件。工业自动化的目的是提高生产率、增加灵活性,并提升制造过程的质量。工业自动化在汽车制造中体现得最为
    的头像 发表于 07-15 16:32 891次阅读
    <b class='flag-5'>自动化</b>计算机的功能与用途

    嵌入式工业显示器如何提升自动化设备的操作效率?​

    在工业 4.0 的浪潮下,自动化设备在各行业中的应用愈发广泛,而嵌入式工业显示器作为自动化设备的关键人机交互界面,其性能优劣直接影响着设备的操作效率。那么,嵌入式工业显示器是如何提升自动化
    的头像 发表于 07-14 15:55 902次阅读

    RFID在图书馆自动化中的应用

    RFID在图书馆自动化中的优势高效率:RFID可以快速批量读取图书信息,大幅缩短借还书时间,提高图书馆管理效率。准确性:RFID减少了人工操作的错误率,提高了图书管理的准确性和可靠性。实时性:通过
    的头像 发表于 05-27 17:15 845次阅读
    RFID在图书馆<b class='flag-5'>自动化</b>中的应用

    APP自动化测试框架

    APP自动化测试框架是一套结合工具链、设计模式和技术规范的集成解决方案。以下是基于主流技术实践的核心要点总结: 一、核心模块构成 环境管理‌ 支持物理机/虚拟机/容器部署,集成ADB、Appium
    的头像 发表于 05-07 07:35 813次阅读
    APP<b class='flag-5'>自动化</b>测试框架