使用 Python 第三方库 xlwt 写入数据到 Excel 工作表

1. 安装 xlwt 库

Python 写入数据到 Excel 工作簿中可以使用第三方库 xlwt. xlwt 拆分下来看就是 excel 和 write 的简化拼接,意思就是写数据到 Excel. 这个第三方库的 pip 安装命令如下所示:

pip install xlwt -i https://mirrors.aliyun.com/pypi/simple

xlwt 的安装方式和 xlrd 的安装方式一样,不过这里 xlwt 没有指定版本,直接用默认版本就好,其他的不再赘述了。

2. 使用 xlwt 库

使用 xlwt 写入到 Excel 工作簿支持两种扩展名:xls 和 xlsx. 这两种扩展名代表两种不同的 Excel 版本。 xls 为 Excel 2003 及以前的版本扩展名,支持的最大行数为 65536, 最大列数为 256. 而 xlsx 为 Excel 2007 及以后的版本扩展名,它的最大支持行数为 1048576, 最大支持列数为 16384. 需要注意的是,Excel 2007 及之后版本可以打开上述两种格式文件,而 Excel 2003 版本只能打开 xls 格式文件。

2.1 向 Excel 工作表写入单个数据

因为这篇教程是看完 《使用 Python 第三方库 xlrd 读取 Excel 中的数据》才看的进阶教程。因此,Excel 工作簿和 Excel 工作表以及单元格的层次关系,我不再赘述了,直接 ”上菜“:

import xlwt# 新建工作簿
my_workbook = xlwt.Workbook()
# 创建新的工作表对象 worksheet, 并取名为 test_sheet
sheet = my_workbook.add_sheet('test_sheet')
# 给定单元格坐标, 一次写入一个单元格数据
sheet.write(0, 0, '姓名')
sheet.write(0, 1, '年龄')
sheet.write(0, 2, '班级')
sheet.write(0, 3, '学号')
# 保存文件
my_workbook.save('test.xlsx')

代码解析:

  1. 首先,通过 Workbook() 方法新建一个工作簿对象
  2. 之后,通过 add_sheet() 方法新建一个 Sheet 表,表名为 ‘test_sheet’, 这个可以根据需求自定义。
  3. 然后,又通过 write() 方法写入数据,方法中的参数分别为单元格横坐标、纵坐标和单元格数据。
  4. 最后,使用 save() 方法保存文件,参数为文件名字符串。

2.2 向 Excel 工作表写入多个数据

那么在 2.1 小节中,我们使用 write() 方法每次只写入一个单元格数据,在写入多个数据的时候,每次都调用一次 write() 方法未免过于繁琐,增加了很多冗余代码,降低编码效率。 因此,我们使用一种新的方法,将数据写入到单元格中。修改后的代码如下:

import xlwt# 新建工作簿
my_workbook = xlwt.Workbook()
# 创建新的工作表对象 worksheet, 并取名为 test_sheet
sheet = my_workbook.add_sheet('test_sheet')
name_list = ['姓名', '年龄', '班级', '学号']
for i in name_list:sheet.write(0, name_list.index(i), i)
# 保存文件
my_workbook.save('test.xlsx')

代码解析: 在上面的代码中,我们将要写入的同一行数据存放在一个列表中,之后使用 for 循环,固定单元格横坐标为 0, 列坐标不断变化,列坐标通过调用列表的 index() 方法获取,之后写入的数据就是循环到的当前值。

2.3 向 Excel 工作表写入多个数据(进阶)

在 2.2 小节中,我们学习了向 Excel 工作表写入多个数据,方法是将多个数据以列表的形式组合起来,然后使用 for 循环。那么如果说,写入的数据是列表和字典嵌套形成的,又该怎样将数据剥离出来写入到对应的单元格内呢? 例如,给定一个数据 data, 如下所示:

data = [{'name': '华仔仔','age': 12,'gender': '男','xuehao': '001'},{'name': '华仔','age': 15,'gender': '男','xuehao': '002'},{'name': '帅气的华仔仔','age': 18,'gender': '男','xuehao': '003'},{'name': '华仔仔coding','age': 20,'gender': '男','xuehao': '004'}
]

如果是这样的一个数据,此时我们可以考虑使用 Python 内置的函数 enumerate(). 代码如下所示:

import xlwt# 新建工作簿
my_workbook = xlwt.Workbook()
# 创建新的工作表对象 worksheet, 并取名为 test_sheet
sheet = my_workbook.add_sheet('test_sheet')
name_list = ['姓名', '年龄', '性别', '学号']
for i in name_list:sheet.write(0, name_list.index(i), i)
data = [{'name': '华仔仔','age': 12,'gender': '男','xuehao': '001'},{'name': '华仔','age': 15,'gender': '男','xuehao': '002'},{'name': '帅气的华仔仔','age': 18,'gender': '男','xuehao': '003'},{'name': '华仔仔coding','age': 20,'gender': '男','xuehao': '004'}
]
for i, item in enumerate(data):sheet.write(i+1, 0, item['name'])sheet.write(i + 1, 1, item['age'])sheet.write(i + 1, 2, item['gender'])sheet.write(i + 1, 3, item['xuehao'])
# 保存文件
my_workbook.save('test.xlsx')

代码解析:

  1. 首先,看一下 data, data 是一个列表类型变量,它的元素是字典类型,一共四个字典元素。
  2. 之后,再看一下 enumerate() 函数。该函数用于将一个可便利的数据对象(如列表、元组和字符串) 组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环中。
  3. 因此,在 for 循环中的变量 i 代表的是列表中遍历到的当前字典的下标,item 代表的是当前遍历到的字典的值, item[‘name’] 表示根据键 ‘name’, 获取键对应的值。
  4. 最后,对于 enumerate() 函数的使用,再举一个例子。例如:words = [‘A’, ‘B’, ‘C’, ‘D’]. for i, word in enumerate(words): print(i, element). 它的输出结果应该是 0, ‘A’ ‘1’, ‘B’, ‘2’, ‘C’, ‘3’, ‘D’.

3. 总结

通过上面的学习,相信大家对 xlwt第三方库的安装以及使用第三方库向Excel 中写入数据的方法有了一定的掌握。如果想要了解更多关于 xlwt 模块的方法,可以参考官网文档哦! 如果觉得这篇文章有用的话,记得点赞+收藏哦!

如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!

😝有需要的小伙伴,可以V扫描下方二维码免费领取🆓

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

上述所有资料 ⚡️ ,朋友们如果有需要的,可以扫描下方👇👇👇二维码免费领取🆓

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/633171.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FairGuard游戏安全2023年度报告

导 读:2023年,游戏行业摆脱了疫情带来诸多负面影响,国内游戏市场收入与用户规模双双实现突破,迎来了历史新高点。但游戏黑灰产规模也在迅速扩大,不少游戏饱受其侵扰,游戏厂商愈发重视游戏安全问题。 为帮助…

WordPress怎么禁用文章和页面古腾堡块编辑器?如何恢复经典小工具?

现在下载WordPress最新版来搭建网站,默认的文章和页面编辑器,以及小工具都是使用古腾堡编辑器(Gutenberg块编辑器)。虽然有很多站长说这个编辑器很好用,但是仍然有很多站长用不习惯,觉得操作太难了&#xf…

C/C++ BM5 合并K个已排序的链表

文章目录 前言题目1 解决方案一1.1 思路阐述1.2 源码 2 解决方案二2.1 思路阐述2.2 源码 总结 前言 在接触了BM4的两个链表合并的情况,对于k个已排序列表,其实可以用合并的方法来看待问题。 这里第一种方法就是借用BM4的操作,只不过是多个合…

怎么处理vue项目中的错误详解

文章目录 一、错误类型二、如何处理后端接口错误代码逻辑问题全局设置错误处理生命周期钩子 三、源码分析小结参考文献 一、错误类型 任何一个框架,对于错误的处理都是一种必备的能力 在 Vue 中,则是定义了一套对应的错误处理规则给到使用者&#xff0…

【MATLAB源码-第117期】基于matlab的蜘蛛猴优化算法(SMO)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境: MATLAB 2022a 1、算法描述 蜘蛛猴优化算法(Spider Monkey Optimization, SMO)是一种灵感来源于蜘蛛猴觅食行为的群体智能优化算法。蜘蛛猴是一种生活在南美洲热带雨林中的灵长类动物,它们在寻找食物时展现出的社会行…

深入探究 JavaScript 中的 String:常用方法和属性全解析(上)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

比特币狂人引爆达沃斯论坛

点击查看TechubNews原文链接:比特币狂人引爆达沃斯论坛 比特币狂人、自称无政府资本主义者的阿根廷总统米莱在达沃斯的最新演讲引爆社交网络大讨论。 1 月 15 日,第 54 届世界经济论坛在瑞士阿尔卑斯山的达沃斯开幕。来自约 60 个国家首脑和跨国公司的领…

区域入侵检测AI边缘计算智能分析网关V4如何通过ssh进行服务器远程运维

智能分析网关V4是一款高性能、低功耗的AI边缘计算硬件设备,它采用了BM1684芯片,集成高性能8核ARM A53,主频高达2.3GHz,并且INT8峰值算力高达17.6Tops,FB32高精度算力达到2.2T,每个摄像头可同时配置3种算法&…

GIt与IDEA结合,多人操作gitee仓库

提交到本地 push到gitee远程仓库 在做这些之前注意配置git要忽略上传的文件,一般上传代码只上传src和pom.xml即可 在c盘用户里放置 git.ignore # Compiled class file *.class# Log file *.log# BlueJ files *.ctxt# Mobile Tools for Java (J2ME) .mtj.tmp/# Package Files …

算法刷题——拿出最少数目的魔法豆(力扣)

文章目录 题目描述我的解法思路结果分析 官方题解分析 查漏补缺更新日期参考来源 题目描述 传送门 拿出最少数目的魔法豆:给定一个正整数 数组beans ,其中每个整数表示一个袋子里装的魔法豆的数目。请你从每个袋子中拿出 一些豆子(也可以 拿…

Conmi的正确答案——使用eclipse进行ESP32C3的debug

eclipse IDE 版本:2023-12 1、安装debug环境 参考大神的教程:【图文】手把手教你使用 Eclipse IDE 开发 ESP32 (这里是为了我下次回来速通才写的部分) 1.1、安装插件(plug-in,新的软件已经写成software了): 相关软件参数: 汉化(安装完成会提示重启应用): Name:…

MPP架构和分布式架构的区别

前言:对大数据的数据处理需求,当前技术方向上存在两个不同的发展路线,MPP和分布式处理。两者数据处理的基本思路都是一样的,分布式并行处理再合并结果;但由于二者在处理架构上的差异,最终产品在应用需求性能…

openpose之使用摄像头检测并输出到json文件

编程如画,我是panda! 前言 之前给大家分享了如何搭建openpose环境,并进行了测试案例,但是如果要使用摄像头的话,还需要修改一下运行文件,并且这次会教大家如何输出到json文件 。 如果环境还没有搭建好&am…

Linux CentOS stream9 nmcli

nmcli命令是redhat7或者centos7之后的命令,该命令可以完成网卡上所有的配置工作,并且可以写入配置文件,永久生效。 一、前期准备 在讨论、学习与训练nmcli命令前,必须明确几点: 1.开启NetworkManager 使用nmcli命令…

【计算机网络】(1)OSI七层模型、协议、交换技术、路由器技术

文章目录 计算机网络功能与分类计算机网络的定义计算机网络的功能计算机网络的指标计算机网络的性能指标计算机网络的非性能指标 计算机网络的分布范围以及拓扑结构划分图计算机网络分类总线型拓扑星型拓扑环形图拓扑树型拓扑分布式拓扑 通信技术信道物理信道逻辑信道 发信机OS…

目标检测--01

基本概念 什么是目标检测? ​ 目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状…

canvas绘制不同样式的六角星(示例源代码)

查看专栏目录 canvas实例应用100专栏,提供canvas的基础知识,高级动画,相关应用扩展等信息。canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重…

(2)(2.1) Andruav Android Cellular(一)

文章目录 前言 1 Andruav 是什么? 2 Andruav入门 3 Andruav FPV 4 Andruav GCS App​​​​​​​ 前言 Andruav 是一个基于安卓的互联系统,它将安卓手机作为公司计算机,为你的无人机和遥控车增添先进功能。 1 Andruav 是什么&#xff…

抽象类(没有对象)之引用对象失败之谜

👨‍💻作者简介:👨🏻‍🎓告别,今天 📔高质量专栏 :☕java趣味之旅 欢迎🙏点赞🗣️评论📥收藏💓关注 💖衷心的希…

C语言中的字符串操作函数自定义实现:标准版与限定长度版

目录 1. 标准字符串操作函数自定义实现 (a) 自定义strcpy函数 (b) 自定义strcat函数 (c) 自定义strcmp函数 2. 限定长度字符串操作函数自定义实现 (a) 自定义strncpy函数 (b) 自定义strncat函数 (c) 自定义strncmp函数 对字符串的操作是不可或缺的一部分。标准库提供了…