首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

中年大叔学编程-Python实现简单的Execl多个Sheet表格合并

在我入职新公司没多久,同事让我帮他处理一下execl表格,其实处理步骤很简单,就是把七八十个sheet合并到一个sheet中,我对execl相对还是比较熟悉,所以就傻不伶仃的开始copy,虽然用到了我多年练出来的手速,但是还是花了十多分钟,而且还怕没有复制对。

这个就是我们的原始表格,我们就是要把七八十个类似的sheet复制到一个中,如果手生或者没有技巧,真的还是需要花些时间的, 现在我们就来试试Python该怎么处理这种问题,首先需要安装三个包

xlrd

xlwt

pandas

多sheet合并为一个sheet

import pandas as pd

from pandas import DataFrame

import xlrd

file_path = 'D:/历史项目主表明细表.xls' # 文件路径

wb = xlrd.open_workbook(file_path) # 打开execl文件

sheets = wb.sheet_names() # 获取sheets名称

df = DataFrame()

for sheet in sheets:

df = pd.concat([df, pd.read_excel(

file_path, sheet_name=sheet, encoding='utf8')]) # 拼接sheets内容

df.to_excel('D:/历史项目主表明细汇总表1.xls') # 保存execl文件 需要依赖xlwt组件

多文件合并为一个sheet

import pandas as pd

from pandas import DataFrame

import xlrd

import os

file_path = 'D:/execl/'

files = os.listdir('D:/execl/') # 获取指定目录下的文件

df = DataFrame()

for file in files:

wb = xlrd.open_workbook(file_path+file) # 打开execl文件

sheets = wb.sheet_names() # 获取sheets名称

for sheet in sheets:

df = pd.concat([df, pd.read_excel(

file_path+file, sheet_name=sheet, encoding='utf8')]) # 拼接sheets内容

df.to_excel('D:/execl/汇总表.xls') # 保存execl文件 需要依赖xlwt组件

代码很简单,但是却能大大提升我们的效率,处理几十个表格也就秒级内。这里只是简单的场景,更多实用例子后面继续探讨

我只是记录我的学习过程,由于书读的少,可能很多地方表述或者是理解得不对,请轻喷并指正。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200630A0TTJX00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com