news 2026/4/25 11:46:53

读写Excel

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
读写Excel

openpyxl 是目前比较常用的操作Excel的Python库,openpyxl库既可以读文件,也可以写文件,也可以修改文件。

  • 安装 openpyxl
    pip install openpyxl
  • 打开现有Excel文件

    可以使用openpyxl.load_workbook()方法打开现有的Excel文件,可以打开xlsx,xlsm,xltx,xltm这些格式,不能打开老的xls格式。

    fromopenpyxlimportload_workbook test=load_workbook(r'E:\桌面\test.xlsx')print(f"表单名分别是:{test.sheetnames}")print(f"表单的数量为:{len(test.sheetnames)}")

    要读取某个表单里单元格中的数据,必须要先获取表单(sheet)对象。

  • 读取指定的单元格

    可以这样sheet[‘B5’]根据列名,行号直接访问某个单元格。也可以这样sheet.cell(row=5,column=2)根据列号,行号直接访问某个单元格。**注意:**行号列号都是从1开始,不是从0开始。

    fromopenpyxlimportload_workbook test=load_workbook(r'E:\桌面\test.xlsx')sheet=test.active c1=sheet['B2']c2=sheet['A2']c3=sheet.cell(row=2,column=1)print(f"B2:{c1.value}")print(f"A2:{c2.value}")print(f"cell:{c3.value}")print(f"表单名分别是:{test.sheetnames}")print(f"表单的数量为:{len(test.sheetnames)}")
  • 读取行和列里面的值

    openpyxl 没有提供直接获取一行或者一列单元格的值的方法

  • 新建Excel,写入数据
    """ 新建excel文件 """importopenpyxl#创建一个workbook对象ZJB=openpyxl.Workbook()sheet=ZJB.active sh1=ZJB.create_sheet('喜剧',0)sh1['A1']='剧名'sh1['B1']='剧情'sh1['C1']='上映时间'sh2=ZJB.create_sheet('悬疑',1)sh3=ZJB.create_sheet('古装',2)
    """ 写入数据 1.写数据基本的用法 """importopenpyxl#创建一个workbook对象ZJB=openpyxl.Workbook()sheet=ZJB.active sh1=ZJB.create_sheet('喜剧',0)sh1['A1']='剧名'sh1['B1']='剧情'sh1['C1']='上映时间'sh2=ZJB.create_sheet('悬疑',1)sh3=ZJB.create_sheet('古装',2)sh3['A2']='玉茗茶骨'#保存文件ZJB.save('追剧列表.xlsx')
    """ 写入数据 2.保存在字典中的数据写入excel表中 """importopenpyxl NameAge={'张飞':38,'赵云':27,'许褚':36,'典韦':38,'关羽':39,'黄忠':49,'徐晃':43,'马超':23,}#创建一个workbook对象ZJB=openpyxl.Workbook()sheet=ZJB.active sheet.title='年龄表'sheet['A1']='姓名'sheet['B1']='年龄'#写入内容row=2forname,ageinNameAge.items():sheet.cell(row,1).value=name sheet.cell(row,2).value=age row=row+1#保存文件ZJB.save('年龄表.xlsx')
    """ 写入数据 3.写入保存在列表和元组中的数据,可以使用append方法在sheet的末尾添加新行,写入数据。 """importopenpyxl NameAge=[['张飞',38],['赵云',27],['许褚',36],['典韦',38],['关羽',39],['黄忠',49],['徐晃',43],['马超',23]]#创建一个workbook对象ZJB=openpyxl.Workbook()sheet=ZJB.active sheet.title='年龄表'sheet['A1']='姓名'sheet['B1']='年龄'#写入内容forrowinNameAge:sheet.append(row)#保存文件ZJB.save('年龄表1.xlsx')
  • 插入行,插入列

    sheet对象的insert_rowsinsert_cols方法,分别用来插入

    importopenpyxl ts=openpyxl.load_workbook('年龄表1.xlsx')sheet=ts['年龄表']sheet.insert_rows(2)sheet.iter_cols(3)ts.save('年龄表1.xlsx')
  • 删除行,删除列

    sheet对象的delete_rowsdelete_cols方法,分别用来删除

    importopenpyxl ts=openpyxl.load_workbook('年龄表1.xlsx')sheet=ts['年龄表']sheet.delete_rows(4)sheet.delete_cols(2)ts.save('年龄表1.xlsx')
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/20 3:18:32

彻底告别GTA V崩溃:YimMenu终极解决方案揭秘

彻底告别GTA V崩溃:YimMenu终极解决方案揭秘 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenu …

作者头像 李华
网站建设 2026/4/22 2:42:25

R3nzSkin终极指南:英雄联盟免费换肤工具完整使用教程

R3nzSkin终极指南:英雄联盟免费换肤工具完整使用教程 【免费下载链接】R3nzSkin Skin changer for League of Legends (LOL).Everyone is welcome to help improve it. 项目地址: https://gitcode.com/gh_mirrors/r3n/R3nzSkin 想要在英雄联盟中免费体验各种…

作者头像 李华
网站建设 2026/4/20 13:41:41

终极指南:用FancyZones打造高效Windows工作区

终极指南:用FancyZones打造高效Windows工作区 【免费下载链接】PowerToys Windows 系统实用工具,用于最大化生产力。 项目地址: https://gitcode.com/GitHub_Trending/po/PowerToys 在当今多任务工作环境中,Windows窗口管理成为提升生…

作者头像 李华
网站建设 2026/4/23 16:43:56

轻量级多模态模型新选择|基于AutoGLM-Phone-9B的移动端推理优化方案

轻量级多模态模型新选择|基于AutoGLM-Phone-9B的移动端推理优化方案 1. 引言:移动端多模态推理的挑战与机遇 随着智能终端设备对AI能力的需求日益增长,如何在资源受限的移动平台上实现高效、低延迟的多模态推理成为关键挑战。传统大模型因参…

作者头像 李华
网站建设 2026/4/24 2:57:58

Meta-Llama-3-8B-Instruct性能优化:RTX3060上的高效推理技巧

Meta-Llama-3-8B-Instruct性能优化:RTX3060上的高效推理技巧 1. 引言 随着大语言模型在对话系统、代码生成和多任务处理中的广泛应用,如何在消费级硬件上实现高效推理成为开发者关注的核心问题。Meta于2024年4月发布的 Meta-Llama-3-8B-Instruct 模型&…

作者头像 李华
网站建设 2026/4/20 0:25:19

Onekey:快速获取Steam游戏清单的终极指南

Onekey:快速获取Steam游戏清单的终极指南 【免费下载链接】Onekey Onekey Steam Depot Manifest Downloader 项目地址: https://gitcode.com/gh_mirrors/one/Onekey 还在为繁琐的Steam游戏清单下载而烦恼吗?Onekey这款开源工具将彻底改变你的操作…

作者头像 李华