news 2026/4/23 10:07:17

读写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/7 18:26:06

Django 框架

简介 Django 是一个由Python编写的一个开放源代码的Web应用框架。使用Django,只要很少的代码,Python的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的Web服务。 Django 遵循MVC(Model - View - Controller)架构&am…

作者头像 李华
网站建设 2026/4/8 18:56:50

Windows系统彻底卸载Edge浏览器的终极解决方案指南

Windows系统彻底卸载Edge浏览器的终极解决方案指南 【免费下载链接】EdgeRemover PowerShell script to remove Microsoft Edge in a non-forceful manner. 项目地址: https://gitcode.com/gh_mirrors/ed/EdgeRemover 你是否曾经在Windows系统中尝试卸载Microsoft Edge浏…

作者头像 李华
网站建设 2026/4/16 11:20:39

NotaGen镜像深度体验|112种风格组合生成高质量符号化乐谱

NotaGen镜像深度体验|112种风格组合生成高质量符号化乐谱 1. 引言:AI音乐生成的新范式 近年来,人工智能在创意领域的应用不断深化,从图像生成到文本创作,再到音乐作曲,AI正逐步展现出其强大的艺术创造力。…

作者头像 李华
网站建设 2026/4/18 14:36:53

Keil5中C程序与汇编混合编程完整示例

Keil5中C与汇编混合编程实战:从启动代码到高效优化的完整路径你有没有遇到过这样的场景?系统上电后,程序还没进main()就卡死了;中断响应总是慢半拍,关键控制时序对不上;想读一个CPU内部寄存器,却…

作者头像 李华
网站建设 2026/4/22 20:07:47

原神抽卡记录永久保存指南:一键导出完整祈愿数据

原神抽卡记录永久保存指南:一键导出完整祈愿数据 【免费下载链接】genshin-wish-export biuuu/genshin-wish-export - 一个使用Electron制作的原神祈愿记录导出工具,它可以通过读取游戏日志或代理模式获取访问游戏祈愿记录API所需的authKey。 项目地址…

作者头像 李华
网站建设 2026/4/20 23:38:52

BIM工作流终极指南:用Rhino.Inside.Revit快速解锁设计新维度

BIM工作流终极指南:用Rhino.Inside.Revit快速解锁设计新维度 【免费下载链接】rhino.inside-revit This is the open-source repository for Rhino.Inside.Revit 项目地址: https://gitcode.com/gh_mirrors/rh/rhino.inside-revit 你是否曾在Revit中面对复杂…

作者头像 李华