前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >别人还在一个一个的填表格,而我已经用python写了个批量填充数据的自动化脚本,让它处理了上百份表格

别人还在一个一个的填表格,而我已经用python写了个批量填充数据的自动化脚本,让它处理了上百份表格

作者头像
Python与Excel之交
发布2021-08-05 14:22:38
2.7K0
发布2021-08-05 14:22:38
举报
文章被收录于专栏:Python与Excel之交Python与Excel之交

Hi~大家好!我是锋小刀!

在工作中,我们经常同word、excel、ppt打交道,而excel用的应该是最多的。不知道大家有没有一填就是几百上千份表格的经历,那种感觉就像个机器人一样做着重复的事情,让人崩溃。一个表填着容易,要是几百上千份表格就很难受了,所以,今天教大家如何用python批量填充数据。

项目任务

在上一期python办公自动化中,我们讲解了python如何按指定名称快速创建工作表:为了拒绝做重复的事情,我用python写了个自动化脚本,让它按名称自动创建工作表

而今天我们来讲解一个比较简单的案例,使用openpyxl操作excel批量填充数据,并生成新的excel文件以及新的工作表,拒绝做重复的事情。

数据源:今天需要用到的数据是上一期爬虫案例的数据源:手把手教你用python爬取猫眼TOP100电影信息

需要把数据填充到以下工作表的相应表格,然后以对应的电影名称为名生成多个excel工作簿,并以对应的电影名称为重命名工作表:

任务目标:

  • 填充对应数据进表格,并重命名对应的工作表名,最后以电影名称为名保存为多个工作簿。
  • 填充对应数据进表格,以电影名称为名创建多个工作表,最后保存为单个工作簿。

代码实现

openpyxl是一个第三方模块,需要自行在终端中使用pip命令安装,一些基本操作可以自行上网查找,网上有很详细的介绍:

代码语言:javascript
复制
pip install openpyxl

导入模块:

代码语言:javascript
复制
import pandas as pd
import openpyxl

用openpyxl读取excel模板:

代码语言:javascript
复制
wb = openpyxl.load_workbook(r"D:\untitled1\办公自动化\EXCEL[批量填充数据]\书单.xlsx")
ws = wb['Sheet1']

用pandas读取数据源:

代码语言:javascript
复制
data = pd.read_csv(r"D:\untitled1\办公自动化\EXCEL[批量填充数据]\猫眼100.csv")

查看下数据:

这里直接用for循环一个一个的取出数据,然后ws.title修改工作表名称并把数据填充进相应的表格,最后以电影名称为名,保存为多个excel工作簿:

代码语言:javascript
复制
# 遍历数据源一个一个取出数据
for d, i, r, e in zip(data['电影名称'], data['主演'], data['评分'], data['上映时间']):
    # 修改工作表名称
    ws.title = d
    # 在对应单元格填充相应数据
    ws['B1'].value = d
    ws['B2'].value = i
    ws['D1'].value = r
    ws['B3'].value = e
    # 以电影名称为名字,保存为单个工作簿
    wb.save(r"D:\untitled1\办公自动化\EXCEL[批量填充数据]\信息\{}.xlsx".format(d))

如果是保存为一份excel工作簿,只需要加一句代码,再修改一下保存名称即可:

代码语言:javascript
复制
for d, i, r, e in zip(data['电影名称'], data['主演'], data['评分'], data['上映时间']):
    sheet = wb.copy_worksheet(ws)   # 复制原有工作表
    sheet.title = d  # 重命名工作表
    sheet['B1'].value = d
    sheet['B2'].value = i
    sheet['D1'].value = r
    sheet['B3'].value = e
wb.save(r"D:\untitled1\办公自动化\EXCEL[批量填充数据]\信息\猫眼电影信息.xlsx")

运行效果:

来看下python处理表格速度:

我们今天使用openpyxl操作excel批量填充数据,可以看到,只要短短十几行代码即可快速搞定上百份表格,不用一个一个手动的填了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python与Excel之交 微信公众号,前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 项目任务
  • 代码实现
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档