利用Python第三方库xlwt写入数据到Excel工作表实例代码

目录
  • 1. 安装 xlwt 库
  • 2. 使用 xlwt 库
    • 2.1 向 Excel 工作表写入单个数据
    • 2.2 向 Excel 工作表写入多个数据
    • 2.3 向 Excel 工作表写入多个数据(进阶)
  • 3. 总结

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第三方库xlwt写入数据到Excel工作表的文章就介绍到这了,更多相关Python xlwt写入数据到Excel内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python第三方库xlrd/xlwt的安装与读写Excel表格

    前言 相信大家都应该有所体会,在平时经常会遇到处理 Excel 表格数据的情况,人工处理起来实在是太麻烦了,我们可以使用 Python 来解决这个问题,我们需要两个 Python 扩展, xlrd 和 xlwt . xlrd和xlwt是Python的第三方库,所以是需要自己安装的,可以在python的官网https://pypi.python.org/pypi下载该模块来安装,也可以通过其他手段,比如easy_install或者pip,下面来看看详细的安装介绍与读写Excel表格的方法吧. 使用

  • Python使用xlwt模块操作Excel的方法详解

    本文实例讲述了Python使用xlwt模块操作Excel的方法.分享给大家供大家参考,具体如下: 部分摘自官网文档. 该模块安装很简单 $ pip install xlwt 先来个简单的例子: #!/usr/bin/python #coding=utf-8 # ============================================================================== # # Filename: demo.py # Description: exc

  • python中使用 xlwt 操作excel的常见方法与问题

    前言 Python可以操作Excel的模块不止一种,我习惯使用的写入模块是xlwt(一般都是读写模块分开的) python中使用xlwt操作excel非常方,和Java使用调框架apache poi相比这就是天堂啊,下面话不多说了,来一起看看详细的介绍吧 一.安装xlwt模块 pip3 install xlwt 二.简单使用xlwt import xlwt #导入模块 workbook = xlwt.Workbook(encoding='utf-8') #创建workbook 对象 worksh

  • python使用xlrd和xlwt读写Excel文件的实例代码

    安装模块 如果使用的是Linux系统,并且安装了pip,可以直接使用pip安装xlrd, xlwt: pip install xlwt pip install xlrd 也可以从官网下载源代码安装: https://pypi.org/project/xlwt/1.1.2/ https://pypi.org/project/xlrd/ 下载tar.gz文件,解压,并转到解压后的目录中,找到setup.py,输入命令: sudo python setup.py install 安装完成. 导入模块:

  • python中使用xlrd、xlwt操作excel表格详解

    最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究"(用此一词让我觉得颇有成就感)之后,基本解决了日常所需.主要记录使用过程的常见问题及解决. python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库.可从这里下载https://pypi.python.org/pypi.下面分别记录python

  • Python操作excel的方法总结(xlrd、xlwt、openpyxl)

    前言 在处理excel数据时发现了xlwt的局限性–不能写入超过65535行.256列的数据(因为它只支持Excel 2003及之前的版本,在这些版本的Excel中行数和列数有此限制),这对于实际应用还是不够的.为此经过一番寻找发现了一个支持07/10/13版本Excel的openpyxl,虽然功能很强大,但是操作起来感觉没有xlwt方便.下面分别说下几个模块的常用操作. xlrd xlrd是用来从Excel中读写数据的,但我平常只用它进行读操作,写操作会遇到些问题.用xlrd进行读取比较方便,

  • python使用xlrd与xlwt对excel的读写和格式设定

    前言 python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库.本文主要介绍了python使用xlrd与xlwt对excel的读写和格式设定,下面话不多说,来看看详细的实现过程. 脚本里先注明# -*- coding:utf-8 -*-    1.  确认源excel存在并用xlrd读取第一个表单中每行的第一列的数值. import xlrd, xlwt import os assert os.path.isfile('source_ex

  • Python3使用xlrd、xlwt处理Excel方法数据

    说在前头 最近在做毕设,题目是道路拥堵预测系统,学长建议我使用SVM算法进行预测,但是在此之前需要把Excel中的数据进行二次处理,原始数据不满足我的需要,可是..有346469条数据,不能每一条都自己进行运算并且将它进行归一化运算!! 作为一个Java开发者,Python的使用我是从来没用过的啊,也是作死选了个这么难的题目..后来在网上查阅发现xlrd可以通过Python代码读取Excel的文件,他的含义是xls文件的read(只读),另外它的同类是xlwt(xls的write喽~),这个是可

  • Python xlwt设置excel单元格字体及格式

    本文根据自己初学经验编写的使用xlwt模块设置单元格的一些基本样式,如设置单元格的背景颜色,下框线,字体,字体的颜色,设置列宽行高,插入简单的图片,详细程序如下: #!/usr/bin/env python # -*- coding: utf-8 -*-" #只对当前文件的中文编码有效 #Create by zhizaiqianli 2015-12-12 Version V1.0 #!/usr/bin/python # Filename : Write_excel_Format.py impor

  • 使用Python和xlwt向Excel文件中写入中文的实例

    Python等工具确实是不错的工具,但是有时候不管是基础的Python还是Python的软件包都让我觉得对中文不是很亲近.时不时地遇到一点问题很正常,刚刚在写Excel文件的时候就又遇到了这样的问题. 为了能够说明情况,假设我想把当前文件夹中所有的文件名称全都写入到Excel文件中. 当前的目录信息如下: grey@DESKTOP-3T80NPQ:/mnt/e/01_workspace/01_docs/02_blog/2017年/08月$ ls -l total 1464 -rwxrwxrwx

随机推荐