news 2026/4/18 10:15:00

读写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/18 8:46:31

MinerU文档理解服务部署:7个常见问题解决方案

MinerU文档理解服务部署:7个常见问题解决方案 1. 引言 1.1 业务场景描述 随着企业数字化转型的深入,大量非结构化文档(如PDF报告、扫描件、财务报表等)需要被快速解析和结构化处理。传统OCR工具在面对复杂版面、多栏排版或图文…

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

Zenodo开源数据存档平台:科研人员必备的5大核心功能深度解析

Zenodo开源数据存档平台:科研人员必备的5大核心功能深度解析 【免费下载链接】zenodo Research. Shared. 项目地址: https://gitcode.com/gh_mirrors/ze/zenodo 作为由CERN开发的开源数据存档平台,Zenodo为科研人员提供了永久存储和分享研究成果的…

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

MinerU应用教程:医疗影像报告关键信息提取方法

MinerU应用教程:医疗影像报告关键信息提取方法 1. 引言 1.1 医疗信息处理的现实挑战 在现代医疗体系中,医生每天需要处理大量的医学影像报告,如CT、MRI、X光等检查结果。这些报告通常以PDF或扫描图像的形式存在,包含大量结构化…

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

FigmaCN中文界面插件:设计师必备的界面语言转换工具

FigmaCN中文界面插件:设计师必备的界面语言转换工具 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 还在为Figma复杂的英文界面而头疼吗?每次设计都要在翻译软件…

作者头像 李华
网站建设 2026/4/18 1:08:30

IndexTTS-2-LLM优化技巧:提升语音情感表达能力

IndexTTS-2-LLM优化技巧:提升语音情感表达能力 1. 引言 随着人工智能在语音合成领域的持续演进,用户对语音自然度和情感表现力的要求日益提高。传统的文本到语音(Text-to-Speech, TTS)系统虽然能够实现基本的语音生成&#xff0…

作者头像 李华