xlutils 库的安装

你好,我是悦创。

前面我分享了 Excel 的读写:Python 实现 Excel 的读写操作https://bornforthis.cn/column/pyauto/auto_base05.html

需求

往“虚假用户数据.xls”里面,追加额外的 50 条用户数据,就是标题+数据,达到 150 条。

思路

  • xlrd 是读取 Excel 文件的库
  • xlwt 是写入 Excel 的库

如果使用以上两个库,可以一边读取,一边写入新文件。

不过在此,有另一个方便使用的库,库名是 xlutils,安装命令:pip install xlutils

pip install xlutils

安装好之后,开始写代码,完成追加 50 条数据的需求。

书写代码

  1. 导入所需的库,分别是 xlrd 和 xlutils
import xlrd
from xlutils.copy import copy
  1. 使用 xlrd 打开文件,然后 xlutils 赋值打开后的 workbook,如下代码:
wb = xlrd.open_workbook('虚假用户数据.xls', formatting_info=True)
xwb = copy(wb)

wb 对象是 workbook,xwb 也是 workbook,但是后者可以写操作,前者不可以。

  1. 有了 workbook 之后,就开始指定 sheet,并获取这个 sheet 的总行数。
sheet = xwb.get_sheet('第一个sheet')
rows = sheet.get_rows()
length = len(rows)
print(length) # 输出 100

指定名称为“第一个sheet”的 sheet,然后获取全部的行,并输出总量,就得到了 sheet 中有 100 行。

  1. 有了具体的行数,然后保证原有数据不变动的情况下,从第 101 行写数据。101 行的索引是 100,索引循环的起始数值是 100。
import faker

fake = faker.Faker()
for i in range(len(rows), 150):
sheet.write(i, 0, fake.first_name() + ' ' + fake.last_name())
sheet.write(i, 1, fake.address())
sheet.write(i, 2, fake.phone_number())
sheet.write(i, 3, fake.city())

range 函数,从 len(rows) 开始,到 150-1 结束,共 50 条。 faker 库是制造虚假数据的,这个在前面写数据有用过,循环写入了 50条。

  1. 最后保存就可以了
xwb.save('虚假用户数据.xls')

使用 xwb,也就是操作之后的 workbook 对象,直接保存原来的文件名就可以了。

Office 办公软件查看数据结果

最后使用 Excel 软件打开这个 xls 文件,查看数据有多少行,如下代码:

总共 150 行,原有数据 100 行,加上新写入的 50 行,数据没问题。

将以上的代码,合并起来多次运行,“虚假用户数据.xls” 的数据量会逐步增加,运行一次增加 50 行。

xlutils 是 xlrd+xlwt 的操作合集,但又不等于他们相加。库不一样,完成的操作不一样,所需的场景也不同,不同的需求用不同的库。

欢迎关注我公众号:AI悦创,有更多更好玩的等你发现!

::: details 公众号:AI悦创【二维码】

:::

::: info AI悦创·编程一对一

AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++ 辅导班、java 辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。当然,还有线下线上摄影课程、Photoshop、Premiere 一对一教学、QQ、微信在线,随时响应!微信:Jiabcdefh

C++ 信息奥赛题解,长期更新!长期招收一对一中小学信息奥赛集训,莆田、厦门地区有机会线下上门,其他地区线上。微信:Jiabcdefh

方法一:QQ

方法二:微信:Jiabcdefh

Python Excel 追加数据的更多相关文章

  1. 使用poi读写excel、向excel追加数据等,包括.xls和.xlsx文档

    1.使用maven引入jar包 <dependency> <groupId>org.apache.poi</groupId> <artifactId>p ...

  2. python excel读写数据

    python 读取excel内容,包含表格日期处理 # -*- coding: utf- -*- import xlrd #读取excel表格 workbook=xlrd.open_workbook( ...

  3. excel追加数据

    原本是想通过读取已存在的文件的行然后直接添加保存,发现结果会被覆盖. 后来查找方法发现需要复制原表. 函数参数: list:要添加的数据 filename:目标文件 sheet_index:默认表的第 ...

  4. Excel 批量导入Mysql(创建表-追加数据)

    之前弄数据库的时候, 测试excel导mysql, 中间用pandas 处理后再入库.  直接上代码, 此种有真意, 尽在不言中. #!/usr/bin/env python # coding: ut ...

  5. Python常用的数据文件存储的4种格式(txt/json/csv/excel)及操作Excel相关的第三方库(xlrd/xlwt/pandas/openpyxl)(2021最新版)

    序言:保存数据的方式各种各样,最简单的方式是直接保存为文本文件,如TXT.JSON.CSV等,除此之外Excel也是现在比较流行的存储格式,通过这篇文章你也将掌握通过一些第三方库(xlrd/xlwt/ ...

  6. NOPI读取模板导出(Excel中追加数据)

    在Controller里,我们定义一个FileResult的Action,返回值是一个文件形式被浏览器下载下来. [HttpGet] public FileResult ExportProductLi ...

  7. java jxl 向Excel中追加数据而不覆盖原来数据的例子

    向先原来就有数据的Excel写数据是不会覆盖原有的数据,只是在追加数据. public class Excel {     public Excel() {     }     public void ...

  8. Python Excel 多sheet 多条数据 自定义写入

    pip install xlwt python excel 数据写入操作,处理网站数据导出以及不是太多数据的爬虫存储, 用处蛮多的轮子. (150+++++++++++++++++++++++++++ ...

  9. Java通过poi创建Excel文件并分页追加数据

    以下的main函数,先生成一个excel文件,并设置sheet的名称,设置excel头:而后,以分页的方式,向文件中追加数据 maven依赖 <dependency> <groupI ...

  10. POI向Excel中写入数据及追加数据

    import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import ...

随机推荐

  1. 一篇文章带你掌握MyBatis简化框架——MyBatisPlus

    一篇文章带你掌握MyBatis简化框架--MyBatisPlus 我们在前面的文章中已经学习了目前开发所需的主流框架 类似于我们所学习的SpringBoot框架用于简化Spring开发,我们的国人大大 ...

  2. Shading-JDBC、ShadingSphere、ShardingProxy 使用详解

    ShadingSphere ​ShardingSphere是一款起源于当当网内部的应用框架,2015年在当当网内部诞生,2016年由主要开发人员张亮带入京东数科,在国内经历了当当网.电信翼支付.京东数 ...

  3. PHP开启debug模式

    我用的是lnmp一键集成环境 所以我的php.ini在/usr/local/php/ 把这个值改成从 Off 改成On 即可

  4. 在vue中_this和this的区别

    _this只是一个变量名,this代表父函数,如果在子函数还用this,this的指 向就变成子函数了,_this就是用来存储指向的 普通函数中的this表示调用此函数时的对象,箭头函数里面的this ...

  5. python django超链接

    之前用django框架打了一个简易的博客网站,现在说说怎么用django做超链接. 本文基于之前讲解的博客应用,如果只想学超链接请自行删减代码或评论提问. 首先,在templates文件夹下添加det ...

  6. SpringCloud(二) - Eureka注册中心,feign远程调用,hystrix降级和熔断

    1.项目模块介绍 2. 父项目 主要依赖 spring-cloud 的 版本控制 <properties> <!-- springCloud 版本 --> <scd.ve ...

  7. SQL--插入单引号值

    sql语句中插入单引号的值需要多写一个单引号进行转义 例如:插入一个值为student' name的值 update table set name='student'' name'

  8. excel公式与快捷操作

    将首行的公式,运用到这一整列 1.选中要输入公式的第一个单元格,SHIFT+CTRL+方向键下,在编辑栏中输入公式,按下CTRL+回车: 2.先输入要填充的公式,按下SHIFT+CTRL+方向键下,再 ...

  9. 接入监控视频,为啥还需要对接厂商的SDK呢,不是有onvif这样的标准协议吗?

    不少人问过我这个问题,这真是一个好问题. 我举两个例子,让您仔细品: ① 快速打开视频和极致操控的问题. onvif协议很科班,但厂商的sdk可能会给你一些独特的方法,譬如先make一个I帧,这样第一 ...

  10. 如何在 .NET MAUI 中加载 json 文件?

    引言: 按core传统方式添加 AddJsonFile("appsettings.json") 在windows平台和ssr工作正常,但是在 ios 和 android 无法用这种 ...