1.openpyxl模块了解
1.excel版本问题 03版本之前的excel文件后缀名xls 03版本之后的excel文件后缀名xlsx 2.python操作excel表格的模块 openpyxl 针对03版本之前的excel不是太兼容 xlrd(读)、xlwt(写) 兼容03版本之前和之后的 https://www.cnblogs.com/yangmeichong/p/10873920.html openpyxl其实也是pandas模块操作excel的底层模块 # 下载 pip3 install openpyxl 参考网站:https://openpyxl.readthedocs.io/en/stable/
2.Excel文件生成
from openpyxl import Workbook # 生成一个excel文件对象 wb = Workbook() # 创建工作簿,默认是在sheet后面 # w1 = wb.create_sheet('test') # wb1 = wb.create_sheet('test',0) # 还可以指定索引参数调整test位置 # 调整工作簿的位置 w1 = wb.create_sheet('工作簿01',index=0) w2 = wb.create_sheet('工作簿02') w3 = wb.create_sheet('工作簿03') # 二次修改工作簿名称 w1.title = 'MySheet01' # 保存文件 wb.save(r'aaa.xlsx')
3.openpyxl写数据
w1 = wb.create_sheet('工作簿01',index=0) # 写数据方式1 # w1['A1'] = 666 # 写数据方式2:在第2行第1列写数据999 # w1.cell(row=2,column=1,value=999) # 插入公式,注意等号一定要加,还可以写函数(比如excel支持的求和,求差等很多常见的函数) # w1['A5'] = '=sum(A1:A2)' # 创建表字段数据 w1.append(['序号','姓名','年龄','爱好']) # 添加表单数据 w1.append([1,'jason',18,'read']) w1.append([2,'tony',28,'music']) w1.append([3,'tom',38,'play']) # 数据多了 w1.append([4,'jerry',38,'play','江苏']) # 没有列字段对应 # 数据少了 w1.append([5,48,'run']) """ 针对缺失的数据 用None或者''占位 """ w1.append([6,None,48,'run']) w1.append([7,'',66,'read']) # 保存文件 wb.save(r'bbb.xlsx')
4.openpyxl读取数据
from openpyxl import load_workbook wb = load_workbook(r'bbb.xlsx',data_only=True)
# read_only=True 当读取一个较大的文件时,如果不适用这个参数会导致产生“MemoryError”错误,文件都加载到内存,导致内存空间不足报错
# wb = load_workbook('1.xlsx',read_only=True,data_only=True) # 获取所有工作簿的名称 # print(wb.sheetnames) # ['工作簿01', 'Sheet'] # 指定你需要操作的工作簿 w1 = wb['工作簿01'] # 读取数据方式1 # print(w1['A1'].value) # 读取数据方式2 # print(w1.cell(row=2,column=1).value) # 读取公式单元格数据 默认只能获取到公式 # print(w1['A5'].value) # =sum(A1:A2) """如果需要获取公式计算之后的结果 1.wb = load_workbook(r'aaa.xlsx',data_only=True) 2.针对代码生成的excel文件需要你去操作一下 """ # 读行数据 # for row in w1.rows: # row_data = [r.value for r in row] # print(row_data) # 读列数据 # for col in w1.columns: # col_data = [c.value for c in col] # print(col_data) print(w1.max_row) # 查看总共有多少行数据 print(w1.max_column) # 查看总共有多少列字段
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了