Python-利用xlrd模块操作excel
在工作中,无论是数据分析,还是批量导入数据,都会去操作excel,当然,数据分析有数据分析的方法,而我在开发中涉及到的是批量导入excel中的数据,
接下来介绍下如何利用python的xlrd模块来读取excel的数据。。。
1.基本用法:
xlrd是python语言中读取excel的扩展工具包,可以实现指定表单、指定单元格的读取(如果要写入数据,需要使用另一个扩展库:xlwt)。
官方文档:http://xlrd.readthedocs.io/en/latest/index.html
# 示例: # 导入扩展包 import xlrd # 打开Excel文件读取数据 data = xlrd.open_workbook('excelFile.xls') [1]
data = xlrd.open_workbook(file_contents='excelFile.xls'.read()) # 获取一个工作表 table = data.sheets()[0] #通过索引顺序获取 table = data.sheet_by_index(0) #通过索引顺序获取 table = data.sheet_by_name(u'Sheet1') #通过名称获取 # 获取整行和整列的值(数组) table.row_values(i) table.col_values(i) # 获取行数和列数 nrows = table.nrows ncols = table.ncols # 循环行列表数据 for i in range(nrows ): print table.row_values(i) # 单元格 table.cell(rowx,colx) cell_A1 = table.cell(0,0).value cell_C4 = table.cell(3,2).value # 使用行列索引 cell_A1 = table.row(0)[0].value cell_A2 = table.col(1)[0].value # 简单的写入 row = 0 col = 0 # 常用单元格中的类型 empty,1 string, 2 number, 3 date, 4 boolean, 5 error, 6 blank ctype = 1 value = '单元格的值' # 扩展的格式化 xf = 0 table.put_cell(row, col, ctype, value, xf) table.cell(0,0) #单元格的值'
2.demo
其中数字都会返回float类型,需要自己做些处理
table = data.sheets()[0]
for v in range(1, nrows): row = table.row_values(v) if row: app = {} for i in range(len(table.row_values(0))): app[table.row_values(0)[i]] = row[i] lists.append(app) return lists
#上面案例会以json形式返回