一、安装xlrd模块
到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境。
二、使用介绍
1、导入模块
import xlrd
2、打开Excel文件读取数据
data = xlrd.open_workbook('excelFile.xls')
3、使用技巧
获取一个工作表
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)
单元格
cell_A1 = table.cell(0,0).value
cell_C4 = table.cell(2,3).value
使用行列索引
cell_A1 = table.row(0)[0].value
cell_A2 = table.col(1)[0].value
简单的写入
row = 0
col = 0
# 类型 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
ctype = 1
value = '单元格的值'
xf = 0
# 扩展的格式化
table.put_cell(row, col, ctype, value, xf)
table.cell(0,0) #单元格的值'
table.cell(0,0).value #单元格的值'
http://www.zijinxing.com/201405/46746.html
接下来要处理类似这种数据:
![图片](https://i-blog.csdnimg.cn/blog_migrate/6ed09869c43fc29b066e59b9d59ad9a4.png)
原理:
首先打开Excel,然后遍历里面的sheet,同时将sheet取出, 测试出每个sheet的行数,从有数据的行开始遍历,同时用“,”分隔取出的每行数据,第一列自然是只保留10-10-28这几个字符串,新建字典,使其成为字典的key,并开1个含有10个数组的数组,作为这个key的值,然后将取出的数据依次存入其中,最后取平均数。当然,在转换过程中,必须将日期转化为string,将值全部转为浮点数。
二、写excel表
1、导入模块
import xlwt
2、创建workbook(其实就是excel,后来保存一下就行)
workbook = xlwt.Workbook(encoding = 'ascii')
3、创建表
worksheet = workbook.add_sheet('My Worksheet')
4、往单元格内写入内容
worksheet.write(0, 0, label = 'Row 0, Column 0 Value')
5、保存
workbook.save('Excel_Workbook.xls')
由于我的需求比较简单,所以这上面没遇到什么问题,唯一的就是建议还是用ascii编码,不然可能会有一些诡异的现象。
以上来源于:
http://www.cnblogs.com/lhj588/archive/2012/01/06/2314181.htmlhttp://www.zijinxing.com/201405/46746.html
接下来要处理类似这种数据:
![图片](https://i-blog.csdnimg.cn/blog_migrate/6ed09869c43fc29b066e59b9d59ad9a4.png)
原理:
首先打开Excel,然后遍历里面的sheet,同时将sheet取出, 测试出每个sheet的行数,从有数据的行开始遍历,同时用“,”分隔取出的每行数据,第一列自然是只保留10-10-28这几个字符串,新建字典,使其成为字典的key,并开1个含有10个数组的数组,作为这个key的值,然后将取出的数据依次存入其中,最后取平均数。当然,在转换过程中,必须将日期转化为string,将值全部转为浮点数。