当前位置:首页 > 科技  > 软件

Python 自动化办公:操作 Excel 的七个示例

来源: 责编: 时间:2024-05-29 17:30:26 111观看
导读在日常工作中,Excel作为数据分析和报告制作的利器,几乎无人不知无人不晓。然而,面对大量重复的数据录入、整理、分析任务时,手动操作不仅耗时费力,还容易出错。此时,Python与它的强大库openpyxl便闪亮登场,助你轻松实现Excel

在日常工作中,Excel作为数据分析和报告制作的利器,几乎无人不知无人不晓。然而,面对大量重复的数据录入、整理、分析任务时,手动操作不仅耗时费力,还容易出错。此时,Python与它的强大库openpyxl便闪亮登场,助你轻松实现Excel自动化办公。9p328资讯网——每日最新资讯28at.com

Python以其简洁易学的语法和丰富的数据处理库,能高效地处理复杂的数据任务,而openpyxl则是专门用于操作Excel文件的库,让你无需打开Excel,就能完成创建、读取、编辑等操作。9p328资讯网——每日最新资讯28at.com

9p328资讯网——每日最新资讯28at.com

openpyxl库简介与安装

openpyxl是一个开源的Python库,专注于读写Microsoft Excel 2010 xlsx/xlsm/xltx/xltm文件。它支持高级功能如数据验证、图表、超链接、注释等,且性能优秀,对大型文件处理游刃有余。安装只需在命令行中输入以下命令:9p328资讯网——每日最新资讯28at.com

pip install openpyxl

示例一:创建新Excel文件并写入数据

想在Python里“无中生有”一个Excel文件?openpyxl帮你实现!下面的代码将创建一个名为“my_data.xlsx”的文件,并在其中填入一些数据:9p328资讯网——每日最新资讯28at.com

from openpyxl import Workbook# 创建Workbook对象,相当于一个新的Excel文件wb = Workbook()# 获取默认的活跃工作表(Sheet)ws = wb.active# 在A1到C3单元格写入数据for row in range(1, 4):    for col in 'ABC':        ws[col+str(row)] = f"Data {row} {col}"# 保存到硬盘wb.save("my_data.xlsx")

示例二:读取现有Excel文件数据

有了数据,自然要能读取。这段代码将打开“my_data.xlsx”,读取其内容并打印出来:9p328资讯网——每日最新资讯28at.com

from openpyxl import load_workbook# 加载已有的Excel文件wb = load_workbook("my_data.xlsx")# 获取第一个工作表(索引为0)ws = wb.worksheets[0]# 遍历所有单元格并打印内容for row in ws.iter_rows():    for cell in row:        print(cell.value)

示例三:修改单元格内容及样式

数据错了?颜色不满意?openpyxl让你轻松调整:9p328资讯网——每日最新资讯28at.com

from openpyxl.styles import Font, Color# 加载已有的Excel文件wb = load_workbook("my_data.xlsx")ws = wb.active# 修改A1单元格内容为"Updated Data"ws["A1"] = "Updated Data"# 设置A1单元格字体为红色,加粗font = Font(color=Color(rgb='FF0000'), bold=True)ws["A1"].font = font# 保存更改wb.save("my_data.xlsx")

示例四:添加/删除行与列

数据结构需要调整?openpyxl让你增删自如:9p328资讯网——每日最新资讯28at.com

# 加载已有的Excel文件wb = load_workbook("my_data.xlsx")ws = wb.active# 在第二行前插入一行ws.insert_rows(2)# 删除第三列(C列)ws.delete_cols(3)# 保存更改wb.save("my_data.xlsx")

示例五:合并单元格与设置条件格式

表格需要更美观?合并单元格与条件格式来帮忙:9p328资讯网——每日最新资讯28at.com

from openpyxl.formatting.rule import CellIsRulefrom openpyxl.styles import PatternFill# 加载已有的Excel文件wb = load_workbook("my_data.xlsx")ws = wb.active# 合并A1到C1单元格ws.merge_cells('A1:C1')# 创建一个条件格式规则:当单元格值大于10时填充绿色green_fill = PatternFill(start_color="00FF00", end_color="00FF00", fill_type="solid")rule = CellIsRule(operator='>', formula=['10'], stopIfTrue=False, fill=green_fill)# 应用规则到整个工作表ws.conditional_formatting.add('A1:C5', rule)# 保存更改wb.save("my_data.xlsx")

示例六:利用公式计算与数据统计

数据需要计算或统计?openpyxl支持直接写入公式:9p328资讯网——每日最新资讯28at.com

# 加载已有的Excel文件wb = load_workbook("my_data.xlsx")ws = wb.active# 在D1单元格写入求和公式ws["D1"] = "=SUM(A1:C1)"# 在D2单元格写入平均值公式ws["D2"] = "=AVERAGE(A2:C2)"# 保存更改并计算公式结果wb.save("my_data.xlsx")

示例七:批量处理多个工作表

面对多工作表的大型文件,openpyxl也能轻松应对:9p328资讯网——每日最新资讯28at.com

# 加载已有的Excel文件wb = load_workbook("my_data.xlsx")# 遍历所有工作表for sheet in wb.worksheets:    print(f"Processing sheet: {sheet.title}")    # 对每个工作表执行相同的操作,如数据清洗、格式化等# 保存更改wb.save("my_data.xlsx")

结语:进阶学习与应用场景推荐

恭喜你,通过以上7个示例,你已经掌握了openpyxl的基本操作。接下来,你可以尝试结合pandas库进行更复杂的数据分析,或者利用定时任务实现自动化报表生成。无论你是处理销售数据、财务报表,还是科研数据,openpyxl都能成为你提升工作效率的得力助手。9p328资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-91521-0.htmlPython 自动化办公:操作 Excel 的七个示例

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Python 容器化技术的 15 个 Docker 实践

下一篇: 有人问我架构图、流程图为什么这么好看?

标签:
  • 热门焦点
  • 太卷!Redmi MAX 100英寸电视便宜了:12999元买Redmi史上最大屏

    太卷!Redmi MAX 100英寸电视便宜了:12999元买Redmi史上最大屏

    8月5日消息,从小米商城了解到,Redmi MAX 100英寸巨屏电视日前迎来官方优惠,到手价12999元,比发布价便宜了7000元,在大屏电视市场开卷。据了解,Redmi MAX 100
  • 十个简单但很有用的Python装饰器

    十个简单但很有用的Python装饰器

    装饰器(Decorators)是Python中一种强大而灵活的功能,用于修改或增强函数或类的行为。装饰器本质上是一个函数,它接受另一个函数或类作为参数,并返回一个新的函数或类。它们通常用
  • 在线图片编辑器,支持PSD解析、AI抠图等

    在线图片编辑器,支持PSD解析、AI抠图等

    自从我上次分享一个人开发仿造稿定设计的图片编辑器到现在,不知不觉已过去一年时间了,期间我经历了裁员失业、面试找工作碰壁,寒冬下一直没有很好地履行计划.....这些就放在日
  • 零售大模型“干中学”,攀爬数字化珠峰

    零售大模型“干中学”,攀爬数字化珠峰

    文/侯煜编辑/cc来源/华尔街科技眼对于绝大多数登山爱好者而言,攀爬珠穆朗玛峰可谓终极目标。攀登珠峰的商业路线有两条,一是尼泊尔境内的南坡路线,一是中国境内的北坡路线。相
  • 破圈是B站头上的紧箍咒

    破圈是B站头上的紧箍咒

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之每年的暑期档都少不了瞄准追剧女孩们的古偶剧集,2021年有优酷的《山河令》,2022年有爱奇艺的《苍兰诀》,今年却轮到小破站抓住了追
  • 阿里瓴羊One推出背后,零售企业迎数字化新解

    阿里瓴羊One推出背后,零售企业迎数字化新解

    作者:刘旷近年来随着数字经济的高速发展,各式各样的SaaS应用服务更是层出不穷,但本质上SaaS大多局限于单一业务流层面,对用户核心关切的增长问题等则没有提供更好的解法。在Saa
  • 2纳米决战2025

    2纳米决战2025

    集微网报道 从三强争霸到四雄逐鹿,2nm的厮杀声已然隐约传来。无论是老牌劲旅台积电、三星,还是誓言重回先进制程领先地位的英特尔,甚至初成立不久的新
  • 机构称Q2全球智能手机出货量同比下滑11% 苹果份额依旧第2

    机构称Q2全球智能手机出货量同比下滑11% 苹果份额依旧第2

    7月20日消息,据外媒报道,研究机构的报告显示,由于需求下滑,今年二季度全球智能手机的出货量,同比下滑了11%,三星、苹果等主要厂商的销量,较去年同期均有下
  • Meta盲目扩张致超万人被裁,重金押注元宇宙而前景未明

    Meta盲目扩张致超万人被裁,重金押注元宇宙而前景未明

    图片来源:图虫创意日前,Meta创始人兼CEO 马克·扎克伯发布公开信,宣布Meta计划裁员超11000人,占其员工总数13%。他公开承认了自己的预判失误:“不仅
Top