1.1、xlrd模块先容xlrd:用于读取Excle数据文件将返回的数据对象放到内存中,然后查询数据文件对象的相关信息。 xlwt:用于在内存中生成新的数据文件对象,处置惩罚完成后写入到Excel数据文件中。 xlutils:主要的作用就是copy新的文件对象,在新的数据对象中完成数据处置惩罚操纵。 留意:在使用 xlrd 读取 .xlsx 文件时,由于 xlrd 从版本 2.0.0 开始停止支持 .xlsx 格式,大概会遇到 xlrd.biffh.XLRDError: Excel xlsx file; not supported 的错误。 假如须要读取.xlsx文件,你大概须要安装1.2.0版本的xlrd。 1.2、xlrd操纵方法汇总1.2.1、Excel操纵1.2.1.1、打开文件import xlrd workbook = xlrd.open_workbook('test.xls') print(workbook) # <xlrd.book.Book object at 0x7f592100ff50> 1.2.1.2、获取所有的表名import xlrd workbook = xlrd.open_workbook(r'./code/excelRead/test.xls') # 获取所有的工作表名 sheet_names = workbook.sheet_names() print(sheet_names) # ['sdxl', 'hzgg', 'sdyxz', 'TB2018'] # 获取所有的sheet对象 Sheets = workbook.sheets() print(Sheets) # [Sheet 0:<sdxl>, Sheet 1:<hzgg>, Sheet 2:<sdyxz>, Sheet 3:<TB2018>] 1.2.1.3、获取指定的Sheetimport xlrd workbook = xlrd.open_workbook(r'./code/excelRead/test.xls') # 方式一:通过索引选取 sheet1 = workbook.sheets()[0] print(sheet1 ) # Sheet 0:<sdxl> # 方式二:通过索引选取 sheet2 = workbook.sheet_by_index(2) print(sheet2) # Sheet 2:<sdyxz> # 方式三:通过表名选取,返回一个<class 'xlrd.sheet.Sheet'>对象 sheet = workbook.sheet_by_name("hzgg") print(sheet) # Sheet 1:<hzgg> 1.2.1.4、某个sheet是否导入完毕# 通过索引,检查某个sheet是否导入完毕 print(workbook.sheet_loaded(0)) # True # 通过文件名,检查某个sheet是否导入完毕 print(workbook.sheet_loaded("hzgg")) # True 1.2.2、sheet对象的基本操纵1.2.2.1、sheet表行操纵1.2.2.1.1、获取表中所有的行数import xlrd workbook = xlrd.open_workbook(r'./code/excelRead/test.xls') sheet2 = workbook.sheet_by_name("hzgg") # 特别留意,这是属性而不是方法,不加括号 print(sheet2.nrows) # 17 1.2.2.1.2、返回指定行的所有单元格数值构成的列表1.2.2.1.3、获取某行的范例及数据
单元范例ctype:empty为0,string为1,number为2,date为3,boolean为4, error为5(左边为范例,右边为范例对应的值) 1.2.2.1.5、以切片情势获取某行的范例及数据1.2.2.1.6、获取某行的长度1.2.2.1.7、获取sheet的所有行生成器
1.2.2.2.1、获取有用列数import xlrd workbook = xlrd.open_workbook(r'./code/excelRead/test.xls') sheet2 = workbook.sheet_by_name("hzgg") # 获取有用列数 print(sheet2.ncols) # 9 1.2.2.2.2、获取某列数据1.2.2.2.3、获取某列范例1.2.2.2.4、以切片方式获取某列范例及数据1.2.2.3、单元格操纵
|
|手机版|小黑屋|梦想之都-俊月星空
( 粤ICP备18056059号 )|网站地图
GMT+8, 2025-7-1 18:59 , Processed in 0.030273 second(s), 19 queries .
Powered by Mxzdjyxk! X3.5
© 2001-2025 Discuz! Team.