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

    文章

    230

    浏览量

    57549
  • python
    +关注

    关注

    57

    文章

    4857

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    APP自动化测试框架

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

    工业DTU对工业自动化通信格局的重塑

    随着工业4.0和智能制造的快速发展,工业自动化系统对通信技术的要求越来越高。工业数据传输单元(DTU,DataTransferUnit)作为一种新兴的通信设备,正在逐步重塑工业自动化通信格局,为工业
    的头像 发表于 03-28 14:09 612次阅读
    工业DTU对工业<b class='flag-5'>自动化</b>通信格局的重塑

    HFSS 自动化建模工具

    因工作需求,自己写的HFSS参数自动化建模工具,目前只实现了常用的四种模型,可定制,如需可联系 qq:1300038043 附件下载链接:https://pan.baidu.com/s/1TVeTTFiJw-pxSyT1AT8IQA 提取码: kxup
    发表于 02-27 17:44

    开源技术在工业自动化领域的作用

    在对互操作性、可互换性和便携性需求不断增长的推动下,工业自动化领域正在经历一场重大变革。这场变革的起点是开源技术的采用,从基于树莓派的工业控制器到Linux边缘设备,不一而足。这一转变重塑了各行业实现自动化的方式,带来了前所未有
    的头像 发表于 02-19 11:28 1032次阅读

    环球仪器Uflex灵活自动化平台概述

    在生产厂房全面走向自动化之际,最令厂家头痛的莫过于生产线上一些难以自动化的组装工序。若以功能单一的自动化平台来解决,投资可能没有保障。环球仪器的Uflex灵活自动化平台提供一个完美的解
    的头像 发表于 02-08 09:13 959次阅读
    环球仪器Uflex灵活<b class='flag-5'>自动化</b>平台概述

    think-cell——自动化简介

    幻灯片呢?使用 think-cell 的自动化功能,您可以快速处理 Excel 或 JSON 数据,而不会出现手动流程中常见的错误。您只需要: 包含 think-cell 图表的 PowerPoint
    的头像 发表于 01-06 13:43 989次阅读
    think-cell——<b class='flag-5'>自动化</b>简介

    通用自动化测试软件 - TAE

    INTEWORK-TAE(Test Automation Executor) 是一款通用的测试用例自动化执行框架,用于汽车电子自动化测试,可支持仿真( MIL/SIL/HIL)、故障注入、 故障诊断、测量标定等测试业务,提供友好的图形
    的头像 发表于 01-02 13:42 1286次阅读
    通用<b class='flag-5'>自动化</b>测试软件 - TAE

    自动化创建UI并解析数据

    *附件:32960_auto.rar备注:Main.vi是ui自动化2.1.vi,配置文件为32960.B.ini。 目前可以实现根据配置文件自动化创建控件并布局,且可以
    发表于 12-10 08:41