Excel操作之读取数据----基于xlrd模块
使用流程
Excel数据读取操作是基于工作表对象进行的,所以需要首先获取工作表对象,而工作表对象要通过工作簿对象获取的。工作簿对象操作
以下操作以以下表为例子:1 2 3 4 5 6 7 8 9 10 11 | # 打开文件并返回一个工作簿对象 workbook_obj = xlrd.open_workbook( 'c:\player.xlsx' ) # 获取工作表名称列表 print (workbook_obj.sheet_names()) # 获取工作表对象的三个函数,sheet_by_index的参数是索引值,sheet_by_name的参数是工作表名,sheet_loaded两者皆可 print (workbook_obj.sheet_by_index( 0 )) print (workbook_obj.sheet_by_name( 'Sheet2' )) workbook_obj.sheet_loaded( 0 ) workbook_obj.sheet_loaded( 'Sheet2' ) # 返回工作簿的所有工作表对象,是一个列表 workbook_obj.sheets() |
行操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # 获取行数 print (sheet1_obj.nrows) # 获取第二行的数据,原型:SheetObject.row_values(rowx[,start_colx=0,end_colx=None]) print (sheet1_obj.row_values( 1 )) # ['Beckham', 7.0, '曼联', '中场'] # 获取第二行单元,返回值为[text:'Beckham', number:7.0, text:'曼联', text:'中场'] print (sheet1_obj.row( 1 )) # 返回值的类型,empty为0,string为1,number为2,data为3,boolean为4,error为5 print (sheet1_obj.row_types( 1 )) # array('B', [1, 2, 1, 1]) # 获取长度 print (sheet1_obj.row_len( 1 )) # 4 # sheet1_obj.get_rows()产生一个生成器 for v in sheet1_obj.get_rows(): print (v) # 对行进行切片 print (sheet1_obj.row_slice( 1 , 0 , 1 )) |
列的操作和行的操作差不多,把row改为col即可
单元格操作
1 2 3 4 5 | print (sheet1_obj.cell( 2 , 1 )) # number:11.0 # 获取值 print (sheet1_obj.cell_value( 1 , 1 )) # 获取类型 print (sheet1_obj.cell_type( 2 , 1 )) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」