前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python追加Excel追加数据

Python追加Excel追加数据

原创
作者头像
AI悦创
发布2022-07-17 11:16:40
2.8K0
发布2022-07-17 11:16:40
举报

xlutils 库的安装

你好,我是悦创。

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

需求

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

思路

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

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

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

代码语言:text
复制
pip install xlutils

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

书写代码

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

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

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

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

  1. 有了具体的行数,然后保证原有数据不变动的情况下,从第 101 行写数据。101 行的索引是 100,索引循环的起始数值是 100。
代码语言:python
复制
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. 最后保存就可以了
代码语言:python
复制
xwb.save('虚假用户数据.xls')

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

Office 办公软件查看数据结果

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

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

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • xlutils 库的安装
    • 需求
      • 思路
      • 书写代码
      • Office 办公软件查看数据结果
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档