excel导出
利用xlwt模块实现excel导出功能
这里想封装起一个公共的方法,但是发现字典转列表的顺序是无序的,输出列的数据和定义的不一致,这个问题待解决
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import xlwt
header = ['序号','姓名','年龄']
data = [
{'id':1,'name':'mike','age':18},
{'id':2,'name':'jack','age':18},
{'id':3,'name':'lina','age':16},
{'id':4,'name':'lnda','age':20},
]
book = xlwt.Workbook(encoding='utf-8', style_compression=0) # 创建一个Workbook对象,这就相当于创建了一个Excel文件
sheet = book.add_sheet('test', cell_overwrite_ok=True) # # 其中的test是这张表的名字,cell_overwrite_ok,表示是否可以覆盖单元格,其实是Worksheet实例化的一个参数,默认值是False
# 设置表头
i = 0
for k in header:
sheet.write(0, i, k)
i = i + 1
# 数据写入excel
row = 1
for val in data:
print(val)
sheet.write(row, 0, val['id']) # 第二行开始
sheet.write(row , 1, val['name']) # 第二行开始
sheet.write(row , 2, val['age']) # 第二行开始
row = row + 1
# 最后,将以上操作保存到指定的Excel文件中
book.save(r'e:\python\basic\test1.xls') # 在字符串前加r,声明为raw字符串,这样就不会处理其中的转义了。否则,可能会报错
excel读取
利用xlrd模块实现excel读取功能
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import xlrd # 引入xlrd模块
file = xlrd.open_workbook('test1.xls') # 打开excel文件对象
table = file.sheets()[0] # 通过索引顺序获取
# table = file.sheet_by_index(0) # 通过索引顺序获取
# table = file.sheet_by_name('test') # 通过表名获取对应表的数据
rows = table.nrows # 总的行数
columns = table.ncols # 总的列数
data = [] # 初始化列表
for r in range(1,rows): # 去除表头所有从第一行开始
rowData = table.row_values(r) # 获取每一列的数据
data.append(rowData) # 追加数据到列表中
print(data)