python处理excel表格
https://baijiahao.baidu.com/s?id=1626070804193125745&wfr=spider&for=pc
https://www.jb51.net/article/165629.htm
老式写法:
1 2 3 4 5 6 7 8 | import openpyxl wb = openpyxl.load_workbook( '1.xlsx' ) print (wb.get_sheet_names()) ################################################ / home / linuxws / PycharmProjects / untitled2 / check_table.py: 4 : DeprecationWarning: Call to deprecated function get_sheet_names (Use wb.sheetnames). print (wb2.get_sheet_names()) [ 'Sheet1' , 'Sheet2' , 'Sheet3' ] |
新式写法
1 2 3 | import openpyxl wb = openpyxl.load_workbook( '1.xlsx' ) print (wb.sheetnames) |
Excel文件三个对象
- workbook: 工作簿,一个excel文件包含多个sheet。
- sheet:工作表,一个workbook有多个,表名识别,如“sheet1”,“sheet2”等。
- cell: 单元格,存储数据对象
1、新建表
A workbook至少创建一个worksheet.
通过openpyxl.workbook.Workbook.active()得到worksheet
1 2 | wb = Workbook(encoding = 'UTF-8' ) #创建工作簿实例 ws = wb.active #激活工作簿,同时得到worksheet |
注意:
该方法使用_active_sheet_index属性, 默认会设置0,也就是第一个worksheet。除非手动修改,否则使用active方法得到都是第一个worksheet。
,也可以通过 openpyxl.workbook.Workbook.create_sheet() 方法创建worksheets:
1 2 3 | ws = wb.create_sheet( "Mysheet" ) #插入到最后(default) #或者 ws = wb.create_sheet( "Mysheet" , 0 ) #插入到最开始的位置 |
创建的sheet的名称会自动创建,按照sheet,sheet1,sheet2自动增长,通过title属性可以修改其名称。
1 2 | ws.title = "New Title" ws = wb.create_sheet(title = "Pip" ) |
默认的sheet的tab是白色的,可以通过 RRGGBB颜色来修改sheet_properties.tabColor属性从而修改sheet tab按钮的颜色:
1 | ws.sheet_properties.tabColor = "1072BA" |
当你设置了sheet的名称,可以将其看成workbook中的一个key。也可以使用openpyxl.workbook.Workbook.get_sheet_by_name() 方法
单元格赋值
1 2 3 4 | #设定单元格的值,三种方式 sheet.cell(row = 2 ,column = 5 ).value = 99 sheet.cell(row = 3 ,column = 5 ,value = 100 ) ws[ 'A4' ] = 4 #write |
逐行写
1 2 3 4 5 | ws.append(iterable) #添加一行到当前sheet的最底部(即逐行追加从第一行开始) iterable必须是list,tuple,dict,range,generator类型的。 1,如果是list,将list从头到尾顺序添加。 2,如果是dict,按照相应的键添加相应的键值。 ws.append([‘This is A1 ', ‘This is B1' , ‘This is C1']) ws.append({‘A ' : ‘This is A1' , ‘C ' : ‘This is C1' }) ws.append({ 1 : ‘This is A1 ', 3 : ‘This is C1' }) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现