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形式返回

 

posted @ 2019-08-28 09:29  YF-海纳百川  阅读(280)  评论(0编辑  收藏  举报