news 2026/4/15 11:11:57

读写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/1 2:54:24

DLSS Swapper游戏画质提升终极指南:DLSS版本升级快速配置技巧

DLSS Swapper游戏画质提升终极指南:DLSS版本升级快速配置技巧 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 还在为游戏画质不够清晰而烦恼吗?🤔 当你看着屏幕上那些模糊的边缘和闪…

作者头像 李华
网站建设 2026/4/15 14:50:54

N_m3u8DL-RE流媒体下载工具:跨平台视频下载完整指南

N_m3u8DL-RE流媒体下载工具:跨平台视频下载完整指南 【免费下载链接】N_m3u8DL-RE 跨平台、现代且功能强大的流媒体下载器,支持MPD/M3U8/ISM格式。支持英语、简体中文和繁体中文。 项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE …

作者头像 李华
网站建设 2026/4/15 21:52:10

DLSS版本自由切换:用DLSS Swapper解锁游戏画质新境界

DLSS版本自由切换:用DLSS Swapper解锁游戏画质新境界 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 还在为游戏中的画面模糊、帧率不稳而苦恼吗?DLSS Swapper这款革命性工具,让你能…

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

DeepSeek-R1-Distill-Qwen-1.5B合规部署:GDPR适配建议

DeepSeek-R1-Distill-Qwen-1.5B合规部署:GDPR适配建议 1. 引言 1.1 业务场景描述 随着生成式AI在企业服务、自动化内容生成和智能助手等领域的广泛应用,模型部署的合规性问题日益凸显。特别是在涉及欧盟用户数据处理的场景中,遵守《通用数…

作者头像 李华
网站建设 2026/4/15 11:10:40

Whisper语音识别实战:与BI系统集成分析

Whisper语音识别实战:与BI系统集成分析 1. 引言 1.1 业务场景描述 在企业级数据分析场景中,非结构化数据的处理正成为BI(商业智能)系统升级的关键瓶颈。传统BI系统主要依赖结构化数据库中的数值和文本字段进行报表生成与趋势分…

作者头像 李华