封装一个写入Excel的函数:
import xlwt
def new_write_excel(header, mapping, body, **kwargs):
"""
数据写入到EXCEL表格
:param header: 中文表头 -> list
:param mapping: 对应数据库字段名 -> list
:param body: 数据 -> list -> dict
:param kwargs: 扩展关键字参数 -> dict
:return: xlwt例化 -> object
"""
# 实例化excel写入对象
wbk = kwargs.get('wbk', xlwt.Workbook())
sheet_name = kwargs.get('sheet_name', 'Sheet1')
# 新建一个选项卡 cell_overwrite_ok能对同一个单元格重复操作
sheet = wbk.add_sheet(sheet_name, cell_overwrite_ok=True)
# 写入表头
for i in xrange(len(header)):
sheet.write(0, i, unicode(header[i]))
# 写入表内容
for i, b in enumerate(body):
for index, key in enumerate(mapping):
sheet.write(i + 1, index, b.get(key))
return wbk
# 准备写入 new_write_excel
wbk = new_write_excel(header, mapping, body)
wbk.save('./upload/dump/{}.xls'.format(downame))