Python xlrd(excle)中EXCLE的数据的获取
2019-04-14 20:27
531 查看
逼着自己写点东西,终有一天会为自己的变化感动的
一、创建一个需要读取的文件对象
import os import xlrd filepath = os.getcwd() # 获取当前文件的地址 filename = 'filename.xls' filepath = os.path.join(filepath,fliename) # 拼接出完成的文件路径 workbook = xlrd.open_workbook(filepath)
二、常用的操作方法、函数
1.操作的对象主要是book和sheet 2.获取sheet对象的常用方法 2.1 workbook.sheets() #返回一个sheet对象的列表。。 2.2 workbook.sheet_by_index(0) #通过索引获取对象,返回的是一个对象 2.3 workbook.sheet_by_name('name') # 通过sheet的名称获取指定的sheet的对象 3.获取book的sheet的名称 3.1 workbook.sheet_names() #返回所有sheet名称的列表 3.2 workbook.sheet_loaded(sheet_name or index) #判断需要的表是否导入 示例: print(workbook.sheet_names()) print(workbook.sheet_loaded('Data'))
三、行的操作(sheet)
1.获取有效行数(获取的是整个表格中有效的行数) #定义一个sheet对象,sheet_data = workbook.sheet_by_name('Data') rows = sheet_data.nrows # 返回一个int 类型有效行数,是整个sheet的有效行数 2.获取一行中所有单元格中 数据类型:数据 2.1 获取一行 rowdata = sheet_data.row(23) #返回第23行的所有单元格 数据类型:数据 [text:'Pass', number:60.0] 2.2获取特定位置的数据 rowdata = sheet_data.row_slice(32,2,3) # 返回获取单元格 数值类型和内容 3.获取行中单元格的数据类型 3.1 数据类型 ctype : 0: empty 1: string(text) 2: number 3: date 4: boolean 5: error 6: blank 3.2 获取单元格数据类型类表 rowtype = sheet_data.row_type(32) # 返回一个元祖,其中[1]的数据为所有行的数据类型 rowtype = sheet_data.row_type(32,3,7) # 返回一个元祖,其中[1]的数据为所有行的数据类型 4.获取单元格的数据 4.1 sheet_data.row_values(32) #只返回指定行,所有的数据 4.2 sheet_data.row_values(32,0,5) #返回指定列的行数据 5.指定行的有效长度 5.1 rowcount = sheet_data.row_len(32) #返回该行的有效数据个数。(有时与sheet_data.ncols相同)
四、列的操作
`1.获取有效列数(获取的是整个表格中总的有效列数) 1.1 colscount = sheet_data.ncols 2.获取一列中所有单元格中 数据类型:数据 2.1 col_style_value = sheet_data.col(18) 2.2 col_style_value = sheet_data.col_slice(18,0,5) 3.获取列中单元格的数据类型 3.1 col_types = sheet_data.col_types(18) 3.2 col_type = sheet_data.col_types(18,0.5) 4.获取单元格的数据 4.1 col_values = sheet_data.col_values(18) 4.1 col_value = sheet_data.col_values(18,0,5)
`
五、单元格的操作
1.返回指定单元格的对象 1.1 sheet_data.cell(17,2) #返回的是对象 1.2 sheet_data.cell(17,2).value # 对返回的对象,获取其值 1.3 sheet_data.cell_value(17,2) #返回对象的值 2.返回指定单元格的数据类型 2.1 sheet_data.cell_type(17,2) # 返回对象的类型 2.2 sheet_data.cell(17,2).ctype # 对返回的对象,获取其类型
六、问题处理
1.编码问题 sheetname = workbook.sheet_names().decode('UTF-8') 2.合并单元格的获取处理 2.1获取文件是需要增加也给处理 workbook = xlrd.open_workbook(filePath,formatting_info=True) #在workbook对象获取时增加formatting_info = True 2.2获取所有的合并单元格 merged = sheet_data.merged_cells #(row,row_range,col,col_range) print(merged) #[(1, 2, 0, 2), (1, 2, 2, 5), (1, 2, 5, 8)] 1,2行合并,其实就是一样,0,2列合并,就是第一列和第二列合并。merged返回的是低位索引 2.3循环获取所有的单元格内的数据 mergedlist = [] for row,row_range,col,col_range in merged: mergedlist.append((row,col)) for index in mergedlist: value = sheet_data.cell_value(index[0],index[1]) print(value)
相关文章推荐
- python xlrd xlwt获取数据到execl表格样例
- python xlrd 模块(获取Excel表中数据)
- Python爬虫:获取链家,搜房,大众点评的数据
- python编写http代理获取json数据----------------------(1)
- python3 requests 获取 拉勾工作数据
- python获取A股基础数据
- Python 获取接口数据,解析JSON,写入文件
- 解决ImmediateDeprecationError 用Python获取Yahoo数据
- python获取链家网数据
- python获取一组数据里最大值max函数用法实例
- selenium自动化测试工具开发python爬虫-动态加载页面数据获取
- 在Python的Django框架中获取单个对象数据的简单方法
- Python 爬虫 PhantomJs 获取JS动态数据
- Python3 urllib(网络数据获取 模块)
- Python 获取Kmeans聚类结果每一类的数据
- 从Excel中读取数据(python-xlrd)
- python3实战scrapy获取数据保存至MySQL数据库
- 我的大数据之路 -- python3+Ajax实战+selenium获取-南瓜屋的爬取(初学者必看)
- 基于随机采样获取训练、测试数据示例(Python)
- 基于随机采样获取训练、测试数据示例(Python)