一般用两种格式的数据写入,不多说放上demo。

1、列表形式写入

import xlwt

def data_write(file_path, datas):
f = xlwt.Workbook()
sheet1 = f.add_sheet(u'sheet1',cell_overwrite_ok=True) #创建sheet
title = [] #加入表头
datas.insert(0, title) #写入表头
style = xlwt.XFStyle() #创建样式
align = xlwt.Alignment() #创建对齐方式
align.horz = 1 #1-->左对齐,2-->居中,3-->右对齐
style.alignment = align
#将数据写入第 i 行,第 j 列
i = 0
for data in datas:
for j in range(len(data)):
sheet1.write(i,j,data[j],style=style)
i = i + 1
f.save(file_path) #保存文件

2、字典形式写入

    def dict_write_excel(html1):
data_list = []
# 循环得到每一个data
for data in html1:
# 循环得到data字典里的所有键值对的值
for value in data.values():
# 将得到的值放入空列表中
data_list.append(value)
# 创建一个新的列表生成式并赋给一个变量new_list.
# 这个列表生成式主要是将数据每8个为一个新的元素存入新的列表中,即列表套列表
new_list = [data_list[i:i + 8] for i in range(0, len(data_list), 8)]
# 生成一个xlwt.Workbook对象
xls = xlwt.Workbook()
# 调用对象的add_sheet方法
sheet = xls.add_sheet('sheet1', cell_overwrite_ok=True)
# 创建我们需要的第一行的标头数据
heads = ['one', 'two', 'three', 'four', 'five', 'six', 'seven','eight']
ls = 0
# 将标头循环写入表中
for head in heads:
sheet.write(0, ls, head)
ls += 1
i = 1
# 将数据分两次循环写入表中 外围循环行
for list in new_list:
j = 0
# 内围循环列
for data in list:
sheet.write(i, j, data)
j += 1
i += 1
# 最后将文件save保存
xls.save('案例.xls')

小案例:

import xlwt

def write_excel(file_path, datas):
f = xlwt.Workbook()
sheet1 = f.add_sheet(u"年龄", cell_overwrite_ok=True)
title = ["xxx", "XXX"]
title1 = ["trade", "<18", "25-29", "18-24", "35-39", "30-34", "45-49", "40-44", ">50"]
datas.insert(0, title1) # 写入表头
datas.insert(0, title)
# 将数据写入第 i 行,第 j 列
style = xlwt.XFStyle()
align = xlwt.Alignment()
align.horz = 1
style.alignment = align
i = 0
for data in datas:
for j in range(len(data)):
sheet1.write(i, j, data[j], style=style)
i = i + 1
f.save(file_path) # 保存文件 if __name__ == "__main__":
datas = [["电竞", 1, 2, 3, 4, 5, 6, 7, 8], ["电商", 1, 2, 3, 4, 5, 6, 7, 8]]
write_excel("/Users/leisunny/Desktop/mysite/practice/demo.xls", datas)

注意:xlwt包只能出来xls格式的Excel文件,xlsx格式的需要用pandas或openpyxl包

最新文章

  1. 软件海贼团 OnePiece (版权所有)
  2. iOS小知识:计算字符串长度(如果有表情,表情的长度为1)
  3. centos安装tmux过程
  4. 微信小程序-视图容器组件
  5. iOS ASIHTTPRequest 使用指南
  6. 通过request读取所有参数
  7. oGitHub 注册
  8. SQL(二) 将一张表数据插入另外一张表
  9. Docker 管理工具 Shipyard
  10. Java第一课
  11. Python基础(十三) 为什么说python多线程没有真正实现多现程
  12. Win32API标准模板
  13. Embedded SW uses STL or not
  14. 解决Python交叉编译后,键盘方向键乱码的问题
  15. 使用 vue-cli 实现组件之间数据交换
  16. Hive 简介
  17. Docker Manager for Kubernetes
  18. spring4声明式事务—02 xml配置方式
  19. Dubbo原理及配置
  20. Codeforces 662C(快速沃尔什变换 FWT)

热门文章

  1. Flask 上下文机制和线程隔离
  2. day65 django进阶(1)
  3. 为什么有时候人们用translate来改变位置而不是定位?
  4. window10下启动vue项目具体步骤
  5. sublime text 3+java只编译不输出结果 solution
  6. CMDB03 /今日未采集的资产、资产入库、资产变更记录、资产采集
  7. 数据可视化之PowerQuery篇(十三)Power BI总计行错误,这个技巧一定要掌握
  8. How to change the text color in the terminal
  9. hls&amp;flv直播请求过程
  10. 数据结构中有关顺序表的问题:为何判断插入位置是否合法时if语句中用length+1,而移动元素的for语句中只用length?