Python——xlrd(excel文件操作)
打开文件
1 2 | import xlrd data = xlrd.open_workbook( '路径' ) |
获取文件中所有工作表的名称。
1 | data.sheet_names() |
相当于进入文件中的一个工作表。
1 | table = data.sheet_by_name( 'Sheet1' ) |
查看工作表一共有几行
1 | rowNum = table.nrows |
查看工作表一共有几列
1 | colNum = table.ncols |
查看第一行所有的名称。
1 | farst = table.row_values( 0 ) |
查看第一列所有的名称(其中包含合并单元格的)
1 | farst = table.col_values( 0 ) |
查看读取内容的格式:(int类型)
0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
1 | format = table.cell(i,i2).ctype |
小应用:
将文件内的内容按照对应关系一一对应,并将空的去除,判断是否有int类型,如果有将转换。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | #!/usr/bin/env python # _*_ coding:utf-8 _*_ # __author__ = 'XinBing' import xlrd data = xlrd.open_workbook( 'D:\python\交通费报销单.xlsx' ) #打开文件 # data.sheet_names() # #获取文件中所有工作表的名称。 table = data.sheet_by_name( 'Sheet1' ) #相当于进入文件中的一个工作表。 rowNum = table.nrows #查看工作表一共有几行 10 colNum = table.ncols #查看工作表一共有几列 3 farst = table.row_values( 0 ) #查看第一行所有的名称。 #简单将文件第一行的数值和第二行一一对应,并添加到字典中,最后添加到列表中。 lis = [] for i in range ( 1 ,rowNum): #第二行开始循环。 dic = {} for i2 in range (colNum): #第一列开始。 data = table.cell_value(i,i2) dic[farst[i2]] = data if table.cell(i,i2).ctype ! = 2 else int (data) # #判断类型是否为数字类型。针对循环出来的行数和列数将内容打印出来。 for k,y in dic.items(): # 判断字典内容里有没有包含空的元素,如果有就不写入到字典中。默认是全部写入 if not y: dic = {} break if dic : lis.append(dic) print (lis) #[{'费用名称': '火车票', '金额(元)': 921, '单据张数': 2}, {'费用名称': '油票', '金额(元)': 3306, '单据张数': 13}, {'费用名称': '合计', '金额(元)': 4227, '单据张数': 15}] |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)