用python包xlwt将数据写入Excel中
2024-08-30 06:06:48
一般用两种格式的数据写入,不多说放上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包
最新文章
- 软件海贼团 OnePiece (版权所有)
- iOS小知识:计算字符串长度(如果有表情,表情的长度为1)
- centos安装tmux过程
- 微信小程序-视图容器组件
- iOS ASIHTTPRequest 使用指南
- 通过request读取所有参数
- oGitHub 注册
- SQL(二) 将一张表数据插入另外一张表
- Docker 管理工具 Shipyard
- Java第一课
- Python基础(十三) 为什么说python多线程没有真正实现多现程
- Win32API标准模板
- Embedded SW uses STL or not
- 解决Python交叉编译后,键盘方向键乱码的问题
- 使用 vue-cli 实现组件之间数据交换
- Hive 简介
- Docker Manager for Kubernetes
- spring4声明式事务—02 xml配置方式
- Dubbo原理及配置
- Codeforces 662C(快速沃尔什变换 FWT)
热门文章
- Flask 上下文机制和线程隔离
- day65 django进阶(1)
- 为什么有时候人们用translate来改变位置而不是定位?
- window10下启动vue项目具体步骤
- sublime text 3+java只编译不输出结果 solution
- CMDB03 /今日未采集的资产、资产入库、资产变更记录、资产采集
- 数据可视化之PowerQuery篇(十三)Power BI总计行错误,这个技巧一定要掌握
- How to change the text color in the terminal
- hls&;flv直播请求过程
- 数据结构中有关顺序表的问题:为何判断插入位置是否合法时if语句中用length+1,而移动元素的for语句中只用length?