python27是什么文件夹可以删除吗_python学习-windows下使用python27将合并多个xlsx文件...

有时候需要处理很多报表,将一个目录下的所有excel格式报表合并,手工操作费事费力如果能使用python,将多个.xlsx同时能够合并多个excel表的话,多么方便。

1、windows上python配置

windows上安装的是python2.7,需要使用pip安装一些第三方包,所以需要配置一下。在linux上修改Pip源很简单,但是在windows上很麻烦,所以我就直接单次指定pip源下载包#windows上pip执行路径为C:\Python27\Scripts

pip install -U pip -i https://pypi.douban.com/simple/ #升级pip

pip install -i  openpyxl #处理excel表格

2.合并多个xlsx表格

编写脚本,将E:\excel\目录下所有xlsx文件合并#!/env/python

#coding=utf-8

##合并多个excel表格##

import os

import glob

import openpyxl

def merge_xlsx_files(xlsx_files):  #定义函数合并xlsx文件

wb = openpyxl.load_workbook(xlsx_files[0]) #调用openpyxl模块loda_workbook函数

ws = wb.active                              #获取活跃的Worksheet

ws.title = "merged result"                  #定义工作表标题

for filename in xlsx_files[1:]:            #循环xlsx_files参数,获取第一个工作表(只有一个)

workbook = openpyxl.load_workbook(filename)  #调用函数

sheet = workbook.active                   #获取活跃的表格

for row in sheet.iter_rows(min_row=2): #遍历其他文件,忽略首行内容

values = [cell.value for cell in row] #循环获取单元格的值

ws.append(values)                      #将值依次添加末尾

return wb                                     #返回

def get_all_xlsx_files(path):                        #定义获取所有xlsx文件

xlsx_files = glob.glob(os.path.join(path,'*.xlsx')) #采用glob方法指定路径下所有.xlsx的文件

sorted(xlsx_files,key=str.lower)                     #按照关键字字符串小写排序

return xlsx_files

def main():                                        #定义主函数

xlsx_files = get_all_xlsx_files(os.path.expanduser ("E:\\excel\\")) #定义变量xlsx_files为get_all_xlsx_files函数,指定参数为指定目录

wb = merge_xlsx_files(xlsx_files)                            #定义wb为merge_xlsx_files函数,指定参数为遍历

wb.save('merged_form.xlsx')                                  #save方法将汇总表保存到merged_form.xlsx

if __name__ =='__main__':

main()

完成合并后如下所示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值