一般用两种格式的数据写入,不多说放上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包

用python包xlwt将数据写入Excel中的更多相关文章

  1. Python将MySQL表数据写入excel

    背景:将mysql表查询结果写入excel. 1.使用sqlyog工具将查询结果导出到Excel.xml中,用excel打开发现:因为text字段中有回车换行操作,显示结果行是乱的. 2.用mysql ...

  2. 初识python: xlsxwriter 将数据写入Excel

    使用 xlsxwriter 模块将数据写入excel . #!/user/bin env python # author:Simple-Sir # time:2020/9/24 12:51 # 使用 ...

  3. java数据写入Excel

    正好最近公司要写一个对账的功能,后台用java从银行获得对账信息,数据是json类型的,然后写入excel中发送给一卡通中心的服务器上,网上找了很多代码,然后整合和改正,代码如下. import ja ...

  4. 数据写入Excel

    通过xlwt这个库,可以将数据写入Excel中,而且通过xlwt写excel格式可以控制 颜色.模式.编码.背景色 下面基本上是一个练习,熟悉如何操作xlwt库的 下面是代码,所有的内容,和介绍,基本 ...

  5. Python:将爬取的网页数据写入Excel文件中

    Python:将爬取的网页数据写入Excel文件中 通过网络爬虫爬取信息后,我们一般是将内容存入txt文件或者数据库中,也可以写入Excel文件中,这里介绍关于使用Excel文件保存爬取到的网页数据的 ...

  6. python取mysql数据写入excel

    环境:MySQLdb openpyxl模块 python去zabbix的mysql数据库中取交换机不同时间段的进出口流量,然后写入excel中,每天cron执行,每周四邮件发送.(代码中第一行必须加上 ...

  7. 用python在excel中读取与生成随机数写入excel中

    今天是我第一次发博客,就关于python在excel中的应用作为我的第一篇吧. 具体要求是:在一份已知的excel表格中读取学生的学号与姓名,再将这些数据放到新的excel表中的第一列与第二列,最后再 ...

  8. 将Oracle数据库中的数据写入Excel

    将Oracle数据库中的数据写入Excel 1.准备工作 Oracle数据库"TBYZB_FIELD_PRESSURE"表中数据如图: Excel模板(201512.xls): 2 ...

  9. 用python在后端将数据写入到数据库并读取

    用python在后端将数据写入到数据库: # coding:utf- import pandas as pd from sqlalchemy import create_engine # 初始化数据库 ...

随机推荐

  1. List的isEmpty与==null的区别

    集合的判空一般判定方法 ArrayList<Person> list = null; System.out.println(null == list);//return true Syst ...

  2. 某cms代码审计

    前言   前几个礼拜上课老师带着挖cms的洞,挖出个cookie反序列化注入漏洞,和报错注入并且提交了cnvd.昨天去找源码的时候发现它更新了一个版本,更新日志上也没说修复,就想着看看漏洞还存不存在, ...

  3. JVM 专题二十:垃圾回收(四)垃圾回收器 (一)

    1. GC分类与性能指标 垃圾收集器没有在规范中进行过多的规定,可以由不同的厂商.不同版本的JVM来实现.由于JDK的版本处于高速迭代过程中,因此Java发展至今已经产生了众多的GC版本.从不同角度分 ...

  4. 数据可视化实例(十一): 矩阵图(matplotlib,pandas)

    矩阵图 https://datawhalechina.github.io/pms50/#/chapter9/chapter9 导入所需要的库 import numpy as np # 导入numpy库 ...

  5. keras 文本序列的相关api

    1.word_tokenizer = Tokenizer(MAX_WORD_NUMS)    MAX_WORD_NUMS设置词典的最大值,为一个int型数值 2.word_tokenizer.fit_ ...

  6. layui弹窗里面 session过期 后跳转到登录页面

    1.在登录页面添加 <script> $(function () { if (top != window) { layer.msg("登录失效", {icon: 5}) ...

  7. bzoj1528[POI2005]sam-Toy Cars*&&bzoj1826[JSOI2010]缓存交换

    bzoj1528[POI2005]sam-Toy Cars bzoj1826[JSOI2010]缓存交换 题意: Jasio有n个不同的玩具,它们都被放在了很高的架子上,地板上不会有超过k个玩具.当J ...

  8. vue 应用 : 计数器组件

    <template> <div class="input-number"> <div @click="sub" :class=&q ...

  9. 通过jmeter读取csv的case来实现接口自动化

    一.环境准备: 1.环境:jdk:1.8+,jmeter:4.2+, 2.csv: 按照以下这种方式编写case或者自定义其他的,准备好case 二.注意要点: 1.想实现数据参数化,可以直接csv中 ...

  10. 使用themeleaf,在JavaScript中使用for循环报错.....

    在for循环前加上/* <![CDATA[ */,在for循环后加/* ]]> */,这样就能正常解析了:如下 /* <![CDATA[ */ for (var i = 0; i & ...