我是靠谱客的博主 谦让电话,最近开发中收集的这篇文章主要介绍xlwings 合并单元格 读取_Python自动化办公 Day1 - 合并Excel,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

假设这样一个场景,当你作为公司总部经理,需要收集各地方业务部的销售数据,并且汇总分析。你的分公司如果数量不多,简单的复制粘贴即可以完成需求,假设你的分公司多达成百上千,那么每次汇总可能就要花费你几小时的时间。使用Python来进行自动化的表格汇总,可以直接解放你的所有时间。

创建模拟数据

我们使用xlwings这个python库,可以直连你的excel表格,我们先随机产生一些表格数据。

 # 产生随机数据
 column_names = ['部门', '销售量']
 for i in range(10):
   book = app.books.add()
   book.sheets[0].range('A1').value = column_names
   book.sheets[0].range('A2').value = [['部门{}'.format(j + 1), random.randint(1, 100)] for j in range(100)]
   name = '地区{}.xlsx'.format(i + 1)
   book.save('excel_data/{}'.format(name))
   app.books[name].close()

8ca6327ca33fffaa737fc0031b38d88d.png

52a9ace9a7e50a2f14d7752c2f806f5d.png

合并表格

接下来,我们读取每个地区的数据,合并至汇总表格。合并十个表格,每个表格100条数据,大概需要5s,时间非常短,并且你不需要进行任何中间操作,可以批量自动化运行

 # 初始化结果excel
 result = app.books.add()
 result.sheets[0].range('A1').value = ['地区', '部门', '销售量']
 ​
 last_row_num = 2
 filenames = [x for x in os.listdir('excel_data') if x.endswith('.xlsx')]
 for f in filenames:
   # 读取数据
   book = app.books.open('excel_data/{}'.format(f))
   data = book.sheets[0].range('A2').expand().value
   data = [[f.replace('.xlsx', '')] + x for x in data]
 ​
   # 写入数据
   result.sheets[0].range('A{}'.format(last_row_num)).value = data
   last_row_num += len(data)
   book.close()
 ​
   # 保存结果
   name = '汇总.xlsx'
   result.save(name)
   app.books[name].close()

d5c78b0af5c9efbb6f00c4c778d4184d.png

完整代码请查看https://github.com/anorakj/python_excel

最后

以上就是谦让电话为你收集整理的xlwings 合并单元格 读取_Python自动化办公 Day1 - 合并Excel的全部内容,希望文章能够帮你解决xlwings 合并单元格 读取_Python自动化办公 Day1 - 合并Excel所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部