通过Python进行合并excel文件

   日期:2020-05-12     浏览:98    评论:0    
核心提示:通过Python处理合并excel文件随着Python的普及,使用Python进行自动化办公的人也越来越多,这里就和大家分享一下自己使用Python处理Excel的一些心得体验。在学习使用python进行Excel之前我们需要先了解的就是调用的函数库首先我们在使用Python对Excel进行处理时需要调用函数openpyxl,也有其他朋友喜欢调用其他Excel相关库函数的,不过我这次使用的是openpyxl库文件,这里要注意的是需要下载最新的3.0.3版本,安装完成后可以在编译器中输入以下代码(我个人py

通过Python处理合并excel文件

随着Python的普及,使用Python进行自动化办公的人也越来越多,这里就和大家分享一下自己使用Python处理Excel的一些心得体验。

在学习使用python进行Excel之前我们需要先了解的就是调用的函数库

首先我们在使用Python对Excel进行处理时需要调用函数openpyxl,也有其他朋友喜欢调用其他Excel相关库函数的,不过我这次使用的是openpyxl库文件,这里要注意的是需要下载最新的3.0.3版本,安装完成后可以在编译器中输入以下代码(我个人比较喜欢在VS Code中编译)

pip install openpyxl

安装完成后我么可以通过一串代码检验一下我们当前的openpyxl库的版本

import openpyxl
print(openpyxl.__version__) 

完成openpyxl库文件的安装后我们来了解一下本次操作需要调用的函数以及他们的用法,如下:

名称 函数
创建工作簿 wb=openpyxl.Workbook()
选择工作表 sheet = wb.action 或 sheet = wb[‘工作表名’]
操作单元格 sheet[‘A1’] = 1 或 sheet.append[1,2,3]
保存工作簿 wb.save(‘文件名.xlsx’)
打开工作簿 wb = openpyxl.load_workbook()
选择工作表 sheet = wb[‘工作表名’]
读取单元格 sheet.[‘A1’].value

大致了解基本的函数功能后我们直接步入正题——合并Excel
首先我们需要从openpyxl中引入 Workbook以及load_workbook

from openpyxl import Workbook , load_workbook

假设我们需要合并的文件是01—31,我们设一个文件列表

filenames = ['%02d.xlsx'%(i+1)for i in range(31)]

通过一个for循环将所有的文件用filenames表示,其中%02d的意思表示这里是一个两位数表述的参数,即01,02等,通过for循环将我们的参数范围赋值给%02d这里得出我们需要的文件列表(如果文件数量较少可以直接使用列表手动写入)。接着我们需要选择我们选定进行处理的工作表,操作如下:

total_web = Workbook()  #实例化一个工作簿
total_sheet =total_web.action  #选择默认工作表
total_sheet.tital ='总和'    #给工作表命名为总和

处理完第一个工作表后下面我们依次将剩余工作表的数据加入到第一张工作表中:

for filename in filenames: 
 wb = load_workbook(filename)   #打开选中的Excel
 sheet = wb.active           #这一步等同于前面写下的total_sheet =total_web.action
 for index, row in enumerate(sheet.values):    
  if filename != filenames[0] and index == 0:  # 因为表头是共用文件,所以跳过表头从第二行开始 
    continue    
  total_sheet.append(row)  #append函数将传入对象(附加)添加在现有列表后

最后我们将新的Excel进行保存和重命名:

total_wb.save('最终文件.xlsx')
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服